2012-09-18 6 views
10

Maven profiles documentation non menziona questo ed è probabilmente un segno di progettazione del processo di generazione errata, ma esistono regole per la risoluzione di proprietà in conflitto se più profili sono attivi e tutti definiscono lo stesso proprietà?Come vengono risolte le proprietà in conflitto se sono attivati ​​più profili

Im abbastanza sicuro che la dichiarazione locale (nella pom.xml) sarebbe ignorare la dichiarazione nel settings.xml, non così sicuro per i profili colocal

  • è l'ordine di dichiarazione all'interno del file importante?
  • esiste un ordine di attivazione definito che può essere importante?
  • è l'ordine importante, se attivato manualmente su CLI (-Pprofile1,profile2)?

Grazie

+3

Controllare http://jira.codehaus.org/browse/MNG-4946 e problemi correlati –

+0

@ KonstantinV.Salikhov - Grazie - una lettura interessante e informativa, anche se abbastanza sparsa. Spero di essere in grado di mettere insieme i pezzi e capirlo per i casi più rilevanti e rispondere da solo. Sembra che non ci sia ancora una vera guida là fuori. Nel caso in cui abbiate compilato qualcosa di sensato al di fuori dei problemi, sarei grato di una risposta;) – kostja

+3

Suggerimento: usa 'mvn help: effective-pom' – noahlz

risposta

3

non v'è alcuna risoluzione dei conflitti che accadono - solo prevalente. Afaik l'ordine è impostazioni, pom, e quindi riga di comando. Per i profili multipli in un file pom e impostazioni, anche l'ordine nel file conta e al di là di ciò le cose cambiano a seconda della versione di Maven.

Suggerisco caldamente di ridurre l'utilizzo dei profili in modo da non doversi preoccupare di queste complessità e sicuramente installare il plugin di aiuto.

Inoltre, è possibile vedere l'efficace pom all'interno di Eclipse nel plug-in M2Eclipse nell'editor POM. Questo dovrebbe aiutarti nel frattempo.

E rispondere alle tue domande:

Tutti gli ordini materia e possono provocare, lascia solo che i risultati "sorprendente" a volte.

+0

Grazie per il chiarimento, Manfred. Come ho supposto, a volte si riduce al "provalo e vedi" approccio – kostja

+1

Il problema è che provi a vedere su una versione di Maven e funziona in modo diverso su un'altra Prova a ridurre il più possibile l'utilizzo del profilo. –

Problemi correlati