当我执行mvn help:effective-pom
时,它也输出[INFO] ...
到stdout。通过-q
通过-q
来压缩它在处理正确的文件时不会输出任何东西执行mvn help时输出有效的xml:effective-pom
我想将有效的pom转换为xmlstarlet以获取有效的属性,但由于输出不是有效的xml,所以它失败。
对我的用例的请求被关闭作为wontfix(至少据我了解)在http://jira.codehaus.org/browse/MPH-23。
当我执行mvn help:effective-pom
时,它也输出[INFO] ...
到stdout。通过-q
通过-q
来压缩它在处理正确的文件时不会输出任何东西执行mvn help时输出有效的xml:effective-pom
我想将有效的pom转换为xmlstarlet以获取有效的属性,但由于输出不是有效的xml,所以它失败。
对我的用例的请求被关闭作为wontfix(至少据我了解)在http://jira.codehaus.org/browse/MPH-23。
使用输出特性:
MVN帮助:有效-POM -Doutput = < FILE>
作为一种变通方法
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"
将输出特性为XML。您需要xmlstarlet。
brew install xmlstarlet #OSX
apt-get install xmlstarlet
我误解了文档。我认为它只会将你得到的输出写入文件。但是,由于所有的日志语句都来自maven本身,而不是插件,所以输出文件从这种垃圾中清晰可见。你知道一种方法来抑制mvn日志语句,并只写入插件结果到标准输出吗? – oschrenk 2012-02-24 10:04:35
有了这个,获取属性的脚本被简化为'mvn help:effective-pom -Doutput = effective.pom && xml sel -N x = http://maven.apache.org/POM/4.0.0 - t -c“/ x:project/x:属性”effective.pom“。但是它会在你的工作目录中留下effective.pom。 – oschrenk 2012-02-24 10:07:27