2012-02-21 11 views
7

Cuando ejecuto mvn help:effective-pom, también produce [INFO] ... en stdout. Al presionarlo a través de -q no se produce nada al tratar con los archivos correctos.Salida xml válida al ejecutar mvn help: effective-pom

Quiero conectar el pom efectivo a xmlstarlet para obtener las propiedades efectivas, pero como el resultado no es un xml válido, falla.

Una solicitud para mi uso fue cerrada como un comentario (al menos a mi entender) al http://jira.codehaus.org/browse/MPH-23.

Respuesta

8

Uso propiedad de salida:

mvn ayuda: efectivo-pom -Doutput = < ARCHIVO>

+0

He leído mal la documentación. Pensé que solo escribiría la salida que obtienes en un archivo. Pero como todas las sentencias de registro provienen de maven y no del plugin, el archivo de salida es claro a partir de dicho fragmento. ¿Conoces una forma de revisar las declaraciones de registro mvn y escribir solo el resultado del complemento en stdout? – oschrenk

+0

Con esto, la secuencia de comandos para obtener las propiedades se reduce a 'mvn help: effective-pom -Doutput = effective.pom && xml sel -N x = http: //maven.apache.org/POM/4.0.0 - t -c "/ x: project/x: properties" effective.pom'. Sin embargo, deja effective.pom en tu directorio de trabajo. – oschrenk

4

Como solución

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" 

salida voluntad las propiedades como XML.

Necesita xmlstarlet.

brew install xmlstarlet #OSX 
apt-get install xmlstarlet