Ciao, sono molto nuovo per Maven. Vorrei cambiare l'ordine dell'esecuzione plug-in di Maven. Nel mio pom.xml ho plug-in maven-assembly plug-in e plug-in maven. Ho usato il plug-in maven assembly per la creazione di file zip e plug-in maven per copiare il file zip dalla destinazione in qualche altra directory. Quando eseguo pom.xml, il plug-in maven ant viene attivato e cercando il file zip, finalmente ho ricevuto l'errore dicendo che il file zip non è stato trovato. Per favore suggeriscimi come eseguire maven assembly plug-in prima dopo che il plug-in maven deve essere eseguito in modo che copi il file zip nella directory corrispondente.Modifica dell'ordine di esecuzione del plugin Maven
risposta
Dal momento che dici di essere molto nuovo a Maven .... Le build di Maven sono esecuzioni di una serie di fasi ordinate. Queste fasi sono determinate dal lifecycle appropriato per il progetto based on its packaging.
Pertanto, si controllo quando obiettivo di un plugin viene eseguito da binding it to a particular phase.
Spero che questo aiuti.
EDIT: Inoltre, poiché Maven 3.0.3, per due plugin legati alla stessa fase, l'ordine di esecuzione è la stessa come l'ordine in cui si definire loro. Ad esempio:
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-3</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>generate-resources</phase>
...
</execution>
</executions>
</plugin>
Nel caso di cui sopra, l'ordine di esecuzione sarebbe:
- maven-plugin-3 (generare-risorse)
- maven-plugin-1 (process-risorse)
- Maven 2-plugin-(processo-risorse)
Grazie per la risposta. – user1062115
Plugin nella stessa fase vengono eseguite nell'ordine dichiarato.
Nel caso di pom gerarchia, si deve ri-dichiarare i plugin dalla POM genitore (solo il suo groupId e la sua artifactId) nel pom bambino per specificare l'ordine di esecuzione:
Parent pom.xml
<plugins>
<plugin>
<groupId>groupid.maven.1</groupId>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
pom.xml Bambino
<plugins>
<plugin>
<groupId>groupid.maven.2</groupId>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>groupid.maven.1</groupId>
<artifactId>maven-plugin-1</artifactId>
</plugin>
</plugins>
Poi l'esecuzione è:
- maven.plugin.2
- maven.plugin.1
In Maven 3.0.3 e successivamente, ci sono due regole
- plugin le esecuzioni sono ordinate secondo le loro fasi. Vedi https://maven.apache.org/ref/current/maven-core/lifecycles.html per l'ordine delle fasi.
Ad esempio, qui mavin-plugin-1 viene eseguita prima maven-plugin-2 perché la fase di processo delle risorse è definito come che ha luogo prima la fase di compilazione.
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>compile</phase>
...
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
...
</execution>
</executions>
</plugin>
- Se più esecuzioni hanno la stessa fase, quindi il primo ad essere eseguito sarà incorporato in uno (es maven-compilatore-plugin) il cui id è predefinito- qualcosa, quindi le altre esecuzioni si svolgeranno nell'ordine che compaiono nel file pom.
Ad esempio, se si dispone di questo da qualche parte nel vostro pom
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.2.3</version>
<executions>
<execution>
<id>my-compile</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-plugin-2</artifactId>
<version>4.5.6</version>
<executions>
<execution>
<id>my-compile-2</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
e questo in qualsiasi punto della pom efficace
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>**default-compile**</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
...
</executions>
</plugin>
allora Maven-compiler-plugin eseguirà Maven-compiler- plugin seguito da maven-plugin-1 e maven-plugin-2.
Se volete Maven-compiler-plugin: compilare obiettivo da eseguire dopo maven-plugin-1 allora si potrebbe fare questo
<plugin>
<artifactId>maven-plugin-1</artifactId>
<version>1.2.3</version>
<executions>
<execution>
<id>my-compile</id>
<phase>compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>something-other-than-**default-compile**</id>
<phase>compile</phase>
</execution>
<execution>
<id>**default-compile**</id>
<phase>none</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
- 1. Esegui una singola esecuzione del plugin Maven?
- 2. Esecuzione del test del selenio con maven-surefire-plugin o maven-failsafe-plugin?
- 3. SoapUI Plugin Maven - esecuzione di più progetti
- 4. Maven maven-exec-plugin configurazioni multiple di esecuzione
- 5. DataNucleus Maven Plugin
- 6. Piano di esecuzione Maven
- 7. Plugin Maven exec - Esecuzione di uno script Python
- 8. Uso di maven-bundle-plugin con il plugin maven-shade
- 9. Jacoco Maven Plugin - L'esecuzione del plugin non è coperta dalla configurazione del ciclo di vita
- 10. Plugin di template Maven?
- 11. maven-compiler-plugin esclude
- 12. Demone in esecuzione con exec-maven-plugin che evita `IllegalThreadStateException`
- 13. Come usare aspectj-maven-plugin
- 14. Equivalente gradle del plugin maven-dependance
- 15. Plugin Maven per offuscamento del codice Java
- 16. Quale plugin Maven deve essere usato per JMeter? jmeter-maven-plugin o chronos-jmeter-maven-plugin?
- 17. maven-assembly-plugin
- 18. Plugin del compilatore in esecuzione su stable
- 19. Esecuzione di un task post installazione Maven
- 20. Perché 2 versioni di plugin Jetty Maven?
- 21. Versioni di Maven-versioni di maven-plugin plug-in 2.2
- 22. Plugin Maven Buildnumber - Git
- 23. Mocha Plugin for Maven
- 24. mancante Maven Plugin Jetty
- 25. plugin Maven memorizzati dove
- 26. plugin maven tomcat o plugin cargo?
- 27. Plugin Maven JAXB2 XJC: esecuzione del plug-in M2E non coperta
- 28. Determinazione della fase di esecuzione di Maven all'interno di un plugin
- 29. Maven-release-plugin e Maven 3.0.3
- 30. Maven tomcat7-maven-plugin non trovato errore
Vale la pena notare che se si dispone di un passo che legge una proprietà da un file non puoi usare quella proprietà nelle fasi successive del pom ... vedi [questo post] (http://stackoverflow.com/questions/8541332/maven-read-version-number-from-property-file/27782825# 27782825) –