Domanda

Sto lavorando su un progetto multi-moduli Maven. Voglio costruire un dato modulo e saltare i test di unità per accelerare il processo di accumulo.

Ho provato quanto segue:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

Tuttavia, questo non ha un effetto a tutti. Eventuali indizi?

È stato utile?

Soluzione

La prima linea assomiglia l'idea giusta, ma invece di -Dgoals si dovrebbe usare -Dmake.goals.

reattore plug pagina esempi :

  

Il reattore plug lanci un secondo   copia di Maven per fare la sua magia. Questo   copia di Maven non deve necessariamente   tutte le bandiere e le opzioni che si   passato alla vostra prima copia di Maven,   compreso il flag --debug, sistema   Proprietà e -DskipTests.

     

È possibile passare ulteriori argomenti a   l'ha generato Maven trattandoli come   obiettivi con -Dmake.goals, in questo modo:

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
     

In altre parole, gli "obiettivi" sono solo   parametri extra-riga di comando passati   alla Maven generato; non lo fanno   devono necessariamente essere "obiettivi".

     

Se si desidera ottenere veramente fantasia te,   può preferire di correre solo a secco reattore   plug-in modalità -Dmake.printOnly,   descritto sopra. Che stamperà fuori   il comando che il plugin avrebbe   utilizzato per costruire, ma è possibile modificare che   riga di comando al contenuto del vostro cuore!

Altri suggerimenti

Data la struttura del progetto

/
  A/pom.xml
  B/pom.xml
  C/pom.xml
  D/pom.xml
  E/pom.xml
  pom.xml (parent pom file that includes A,B,C,D,E modules)

simile alla vostra

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True

Anche se non sono sicuro se il mio approccio fa esattamente quello che il plugin reattore fa, ma ho trovato il seguente approccio ha funzionato abbastanza bene per me

mvn -pl=C,D,E -DskipTests=true package

Hai provato tra cui l'opzione di -Dmaven.test .skip = true (notare il caso) al vostro argomento della riga di comando è in esecuzione? Come Java, Maven è case sensitive. Ma in generale, è possibile eliminare l'= true parte e che dovrebbe anche causare i test da saltare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top