Diferentes dependencias para diferentes perfiles de construcción

Resuelto izb asked hace 16 años • 2 respuestas

¿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.

izb avatar Oct 03 '08 20:10 izb
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 releaseperfil 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>
Aleksandar Dimitrov avatar Oct 03 '2008 14:10 Aleksandar Dimitrov

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.

 avatar Jul 21 '2009 06:07