En mi compilación Maven me gustaría poder definir valores predeterminados (p. Ej., Para la conexión de la base de datos) en pom.xml, pero me gustaría que el usuario pueda sobrescribirlos sin tener que modificar pom.xml
directamente.por usuario Maven properties
A modo de ejemplo, en una compilación Ant puede definir las propiedades predeterminadas en foo.properties
, pero Ant buscará sustituciones para cada uno de estos en un foo.$USERNAME.properties
. Este último generalmente no se controla en el control de origen, lo que elimina el problema de que los desarrolladores accidentalmente confirmen sus modificaciones de las propiedades predeterminadas. ¿Maven ofrece una instalación similar?
Para hacer el problema un poco más concreto, asume que tienen las siguientes define en pom.xml
<properties>
<db.url>jdbc:jtds:sqlserver://10.10.10.10:1433/somedb</db.url>
<db.driver>net.sourceforge.jtds.jdbc.Driver</db.driver>
<db.username>default_user</db.username>
<db.password>secret</db.password>
</properties>
Puede un usuario anular estas propiedades sin editar el pom.xml directamente?
+1 el archivo settings.xml es un archivo local para el usuario - el mejor lugar para cosas como esta – Qwerky
Parece que puedo lograr esto definiendo un perfil '' en 'settings.xml' que contiene el anulando los valores de propiedad, ¿verdad? –
Puede tener en cuenta que los perfiles activeByDefault no se seleccionan si especifica _any_ profile cuando construye. Simplemente los pondría en la sección de propiedades normales del POM si fuera usted, y dejaría que el usuario los anule. – artbristol