Diferentes dependencias para diferentes perfiles de construcción
¿Es posible tener un conjunto diferente de dependencias en un archivo maven pom.xml para diferentes perfiles?
p.ej
mvn -P debug
mvn -P release
Me gustaría seleccionar un archivo jar de dependencia diferente en un perfil que tenga los mismos nombres de clase y diferentes implementaciones de las mismas interfaces.
Aceptado
Para citar la documentación de Maven sobre esto :
Un elemento de perfil contiene tanto una activación opcional (un activador de perfil) como el conjunto de cambios que se realizarán en el POM si ese perfil se ha activado. Por ejemplo, un proyecto creado para un entorno de prueba puede apuntar a una base de datos diferente a la de la implementación final. O se pueden extraer dependencias de diferentes repositorios según la versión de JDK utilizada .
(El énfasis es mío)
Simplemente coloque la dependencia del release
perfil dentro de la declaración del perfil y haga lo mismo con debug
.
<perfiles> <perfil> <id>depurar</id> … <dependencias> <dependencia>…</dependencia> </dependencias> … </perfil> <perfil> <id>lanzamiento</id> … <dependencias> <dependencia>…</dependencia> </dependencias> … </perfil> </perfiles>
Su ID de grupo, ID de artefacto debe tokenizarse en sus perfiles como propiedades y puede mover sus dependencias a la sección genérica.