Come posso eseguire un obiettivo specifico con una configurazione particolare in un plug-in Maven quando ho diverse configurazioni per quell'obiettivo
Domanda
Vedi la configurazione del plugin da pom.xml di seguito.
Posso fare:
mvn myplugin:myGoal
Che esegue myGoal (suppongo entrambe le esecuzioni) ma voglio poter scegliere la prima o la seconda esecuzione in modo indipendente.
So che posso aggiungere un ID all'elemento di esecuzione, ma come faccio a fare riferimento a quell'ID sulla riga di comando.Mi piacerebbe arrivare a qualcosa che faccia quello che fa questo comando immaginario:
mvn myplugin:myGoal --executionId=1
È possibile o sto andando nel modo sbagliato?
<plugin>
<groupId>org.myplugin</groupId>
<artifactId>myplugin-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>cats</myParam>
</configuration>
</execution>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>dogs</myParam>
</configuration>
</execution>
</executions>
</plugin>
Soluzione
posso fare
mvn myplugin:myGoalWhich
corre myGoal (entrambe le esecuzioni suppongo)
Nessuno di loro (ammesso che avevano id
unico). Le esecuzioni sono legati ad una fase, è necessario eseguire la fase di data per innescare loro.
so di poter aggiungere un id all'elemento di esecuzione, ma come faccio riferimento a tale id sulla riga di comando.
Non supportato. Ciò che è possibile per i plugin invocati sul CLI è quello di definire un non globale di configurazione nella POM utilizzando lo speciale default-cli
executionId
, in questo modo:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
<descriptorRef>project</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
Questo è possibile, o sto andando su questo nel modo sbagliato?
No, non è possibile. O passare i parametri sui profili riga di comando o di usare (con o senza l'esecuzione predefinito sopra).
Bibliografia
Altri suggerimenti
Esecuzione di obiettivi multipli dalla CLI è ora supportato in Maven 3.3.1 +
mvn exec:java@first-cli
mvn exec:java@second-cli
Dove prima CLI / seconde CLI sono gli ID di esecuzione.
http: //blog.soebes. de / blog / 2015/03/17 / apache-Maven-3-dot-3-1-caratteristiche /
Hey è possibile creare il vostro obiettivo in questo modo: -
org.myplugin:myplugin-maven-plugin:1.1.1:myGoal i.e
<groupId>:<artifactId>:<version>:<yourgoal>
Si lavora nel mio caso ...
Il presupposto che hai fatto è che se chiami
mvn myplugin:myGoal
Ma il problema è che riceverai un messaggio di errore perché l'esecuzione non ha ID univoci (entrambi in questo caso hanno lo stesso).
Puoi raggiungere ciò che ti piace fare tramite i profili che puoi attivare tramite mvn -PXYZ e mvn -PABC