¿Hay alguna manera de definir mis perfiles de maven fuera del archivo POM pero no en .m2/settings.xml?
quiero definir en un archivo XML independiente dentro la aplicación (manera de trabajar de manera eficiente con Maven 2 y 3) porque estoy utilizando Maven 2 y la intención de cambiar a 3 pronto.Definir perfiles maven fuera de POM
Respuesta
Hasta Maven 2.2.1 podría definir sus perfiles en el archivo profiles.xml como un archivo separado, pero con Maven 3 esta oportunidad se ha eliminado. La pregunta es ¿por qué necesita un archivo separado para los perfiles?
Es posible que desee ir a través de this maven documentation en los perfiles de construcción, que describe los tipos de perfiles y cómo se pueden utilizar.
Según lo veo, los perfiles no pueden definirse fuera de pom.xml
o settings.xml
, si desea utilizar maven 3
.
Hace poco estuve migrando una aplicación a maven3 desde maven2. Con maven 3 no hay posibilidad de tener perfiles externos. Pero lo que se puede hacer es tener archivos de propiedad externos. Esto se puede lograr mediante maven-properties-plugin
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<!-- Associate the read-project-properties goal with the initialize phase,
to read the properties file. -->
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>../com.tak/build.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
Así que aquí me han explicado cómo hacerlo http://programtalk.com/java/migrate-from-maven2x-to-maven3x/
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
</properties>
</profile>
</profiles>
y añadir un filtro
<filters>
<filter>src/test/resources/${build.profile.id}/config.properties</filter>
</filters>
y añadir a cualquier directorio (dev, prod, test)
- 1. Heredar perfiles de Maven
- 2. Maven parent pom vs modules pom
- 3. Spring Hibernate maven POM
- 4. ¿perfiles maven o perfiles de resorte?
- 5. Maven Super POM
- 6. Maven - Parent Pom - Child Herencia
- 7. Maven: POM padre no resoluble
- 8. Dependencias de actualización de Maven en POM
- 9. Maven POM-Editor: Falta gráfico de dependencia
- 10. Cómo compartir fragmentos POM entre diferentes POM
- 11. Cómo convertir build.xml al archivo maven pom?
- 12. agregando recursos adicionales a un maven pom
- 13. Usar datos cifrados en Maven pom
- 14. Maven - Varias compilaciones en una sola pom
- 15. Maven no puede encontrar el padre POM
- 16. ¿Cómo se editan los archivos Maven pom?
- 17. ¿Dónde está super pom para maven 3?
- 18. ¿Es posible dividir los archivos maven pom?
- 19. maven exclude plugin defined in parent pom
- 20. Maven Crear múltiples perfiles de una sola vez
- 21. cómo escapar '&' en los valores de propiedad de maven pom
- 22. propiedades de lectura del archivo de Maven POM presentar
- 23. Propiedades de acceso maven definidas en el pom
- 24. ¿Cómo editar un POM maven en tiempo de ejecución?
- 25. Maven verificar las firmas de pom descargado/archivos jar
- 26. Generando un POM Maven de un proyecto existente?
- 27. cómo obtener el super pom basedir en un pom módulo de niño?
- 28. Cambio de embalaje en función del perfil activo en pom
- 29. Java Maven MOJO - obteniendo información del proyecto POM
- 30. ¿Qué representa la etiqueta padre en Maven pom?
porque tengo muchos perfiles, y cada perfil contiene muchas propiedades, y el archivo pom está obteniendo tan grande. –
¿Qué hay de usar un superpom que contenga perfiles, suponiendo que se apliquen a diferentes tipos de proyectos? Sus poms del proyecto pueden usar ese pom padre sin tener que volver a definir todo este comportamiento común. – RonU
url para tal enfoque por favor en una respuesta separada sería preferible? –