【问题标题】:Output valid xml when executing mvn help:effective-pom执行 mvn help:effective-pom 时输出有效 xml
【发布时间】:2012-02-21 14:22:58
【问题描述】:

当我执行mvn help:effective-pom 时,它还会将[INFO] ... 输出到标准输出。在处理正确的文件时,通过-q 压制它根本不会输出任何东西,所以

我想通过管道将有效的 pom 导入 xmlstarlet 以获取有效的属性,但由于输出不是有效的 xml,所以它失败了。

对我的用例的请求已在 http://jira.codehaus.org/browse/MPH-23 处以 wontfix 的形式关闭(至少在我的理解中)。

【问题讨论】:

    标签: xml maven maven-3


    【解决方案1】:

    使用输出属性:

    mvn help:effective-pom -Doutput=

    【讨论】:

    • 我误读了文档。我认为它只会将您获得的输出写入文件。但是由于所有的日志语句都来自 maven 本身而不是插件,因此输出文件很清晰。你知道有一种方法可以隐藏 mvn 日志语句并只将插件结果写入标准输出吗?
    • 这样,获取属性的脚本被简化为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。但是它会在你的工作目录中留下 Effective.pom。
    【解决方案2】:

    作为一种解决方法

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多