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.

È stato utile?

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
scroll top