quali opzioni posso usare per determinare che cosa è in esecuzione un caso di prova con classpath?Trova percorso di classe che Maven sta usando per eseguire testng testcase
risposta
Non hai fornito la versione di Maven, ma almeno in 3.x (e forse anche in 2.x) puoi eseguire comandi con l'opzione -X (debug). In questo modo viene stampato il Classpath di prova prima dell'esecuzione dei test.
mvn test -X
non ho potuto formattare la mia risposta nel mio commento in modo da sottoporre la versione grepped qui:
mvn test -X | grep "maven.dependency.classpath"
In generale si può trovare il percorso di classe che Maven è utilizzando utilizzando il built-in e maven dependency plugin il suo build-classpath goal.
Se si desidera utilizzare il classpath per compilare ed eseguire il test, è necessario selezionare test
dependency scope. Questo ambito è l'impostazione predefinita, ma se si desidera essere espliciti è possibile impostarlo con -DincludeScope=test
.
Altri ambiti includono runtime
, compile
, provided
e system
.
A seconda di come si desidera utilizzare l'uscita, è possibile giocare con le opzioni -Dmdep.outputFilterFile
e -Dmdep.outputFile
. Lo mdep.outputFilterFile
semplifica l'analisi dell'output da uno script e l'opzione outputFile
scrive su un file, che alcuni strumenti possono leggere direttamente.
ecco alcuni esempi:
$ mvn dependency:build-classpath -DincludeScope=test -Dmdep.outputFilterFile=true|grep 'classpath='
classpath=xxx.jar:yyy.jar
$ mvn dependency:build-classpath -DincludeScope=test -Dmdep.outputFile=cp.txt
$ cat cp.txt
xxx.jar:yyy.jar
Questo funziona anche con Maven 1.x Inoltre, vi consiglio di grep i risultati per evitare di dover cercare tra le pagine di uscita: prova Maven - X | grep "maven.dependency.classpath" –