pom mvn example compile maven-2 profiles

maven 2 - mvn - Maven Cambiar un valor en un archivo basado en perfil



mvn-u option (1)

Tengo un archivo de propiedades llamado ApplicationResources.properties en mi aplicación con una propiedad que cambia según el entorno. Digamos que la propiedad es:

resources.location=/home/username/resources

y este valor es diferente cuando la aplicación se ejecuta durante el desarrollo y cuando la aplicación entra en producción.

Sé que puedo usar diferentes perfiles en Maven para realizar diferentes tareas de construcción en diferentes entornos. Lo que quiero hacer es reemplazar de alguna manera el valor de resources.location en el archivo de propiedades basado en el perfil de Maven en uso. ¿Es esto posible?


Lo que quiero hacer es reemplazar de alguna manera el valor de resources.location en el archivo de propiedades basado en el perfil de Maven en uso. ¿Es esto posible?

Sí lo es. Active el filtrado de recursos y defina el valor a reemplazar en cada perfil.

En su ApplicationResources.properties , declare un token para reemplazar así:

resources.location=${your.location}

En tu POM, agrega una etiqueta <filtering> para el <resource> apropiado y configúralo en verdadero como esto:

<project> ... <build> ... <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> ... </resources> ... </build> ... </project>

Luego, agregue un elemento <your.location> dentro del elemento <properties> dentro de cada perfil:

<project> ... <profiles> <profile> <id>my-profile</id> ... <properties> <your.location>/home/username/resources</your.location> </properties> ... </profile> ... </profiles> </project>

Más sobre el filtrado de recursos here y here .