Dipendenze diverse per profili di build diversi
-
03-07-2019 - |
Domanda
È possibile avere un diverso set di dipendenze in un file pom.xml maven per diversi profili?
per es.
mvn -P debug
mvn -P release
Vorrei raccogliere un file jar di dipendenza diverso in un profilo con gli stessi nomi di classe e diverse implementazioni delle stesse interfacce.
Soluzione
Per citare la la documentazione di Maven su questo :
Un elemento del profilo contiene sia un'attivazione opzionale (un trigger di profilo) sia l'insieme delle modifiche da apportare al POM se quel profilo è stato attivato. Ad esempio, un progetto creato per un ambiente di test può puntare a un database diverso da quello della distribuzione finale. Oppure le dipendenze possono essere estratte da diversi repository in base alla versione JDK utilizzata .
(L'enfasi è mia)
Inserisci semplicemente la dipendenza per il profilo release
all'interno della dichiarazione del profilo stesso e fai lo stesso per debug
.
<profiles> <profile> <id>debug</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> <profile> <id>release</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> </profiles>
Altri suggerimenti
Il tuo groupId, artefactId dovrebbe essere tokenizzato nei tuoi profili come proprietà e puoi spostare le tue dipendenze nella sezione generica.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow