2012-02-21 13 views
7

Quando eseguo mvn help:effective-pom, emette anche lo [INFO] ... sullo stdout. Sorprendendolo tramite -q non viene emesso nulla quando si gestiscono i file corretti in modoOutput xml valido durante l'esecuzione della guida mvn: effective-pom

Desidero convogliare l'efficace pom in xmlstarlet per ottenere le proprietà effettive, ma poiché l'output non è un xml valido non riesce.

Una richiesta per il mio caso è stata chiusa come un wontfix (almeno per quanto mi risulta) al http://jira.codehaus.org/browse/MPH-23.

risposta

8

Usa proprietà di output:

mvn aiuto: efficacia-pom -Doutput = < FILE>

+0

Ho letto male la documentazione. Ho pensato che scriverà solo l'output che ottieni in un file. Ma dal momento che tutte le dichiarazioni del registro provengono da Maven stesso e non dal plugin, il file di output è chiaro da tale cruft. Sai di un modo per superare le dichiarazioni di mvn e scrivere solo il risultato del plugin su stdout? – oschrenk

+0

Con questo, lo script per ottenere le proprietà è ridotto a 'mvn help: efficace-pom -Doutput = effective.pom && xml sel -N x = http: //maven.apache.org/POM/4.0.0 - t -c "/ x: project/x: proprietà" effective.pom'. Tuttavia, nella directory di lavoro rimane efficace.pom. – oschrenk

4

Come soluzione

mvn help:effective-pom | grep -v '\[INFO\|\[WARNING\|Downloading' | sed '1,2d' | xml sel -N x=http://maven.apache.org/POM/4.0.0 -t -c "/x:project/x:properties" 

uscita volontà le proprietà come XML.

È necessario xmlstarlet.

brew install xmlstarlet #OSX 
apt-get install xmlstarlet 
Problemi correlati