Sto cercando di ridurre la copia/incolla nei nostri file di Maven Pom.maven2: come condividere una configurazione plugin tra padre e figli pom?
Abbiamo un maestro pom e molti progetti bambini che ereditano dal maestro.
voglio condividere una definizione plug complesso che sembra:
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
<!-- many xml lines here -->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
<goal>generate-daemons</goal>
<goal>create-repository</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo.appassembler</groupId>
<artifactId>appassembler-booter</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
Quando questa definizione plugin è in POM del progetto, l'imballaggio è ben fatto.
Quando la definizione viene spostata su padre principale (in o in), la confezione non viene nemmeno avviata.
È possibile condividere una configurazione di plugin? Come ?
- Modifica dopo le prime risposte ---
Ho provato quanto segue:
- mettere il mio XL confezionamento plug-config nell'elemento del mio pom genitore
- aggiungere queste righe nel mio progetto pom nell'elemento :
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
</plugin>
...
</plugins>
ma non funziona ... ciò che può essere di sbagliato in questo?
- ultima modifica - penso di ottenere quello che era il problema:
la dichiarazione riutilizzo plugin dovrebbe essere dichiarato in un profilo build.
L'ho fatto in un plug-in sempre abilitato e ora funziona correttamente.
Grazie mille.
Ho provato questo ma non funziona. Ho aggiornato la mia domanda riguardo alla tua risposta. – Guillaume
Esegui guida: efficace-pom e vedi come appare la configurazione del plugin. Sicuramente stai usando il pluginManagenement? –
build che usa il plugin è stato dichiarato in un profilo. Quindi la configurazione del plugin dovrebbe essere stata dichiarata anche in un profilo ... Grazie per il tuo aiuto. – Guillaume