在所有子模块中从命令行执行目标

时间:2012-02-10 14:09:53

标签: maven maven-2

这是来自多模块父pom的片段。如何在项目的所有子模块中运行目标?


<modules>
    <module>../utp</module>
    <module>../testdependency</module>
</modules>

当我尝试通过mvn -am -pl utp help:evaluate -Dexpression=project.artifactId运行此目标时,我只会得到父pom的结果,我没有得到任何关于utp和最终依赖的结果。
如何在项目的所有子模块上运行目标?

1 个答案:

答案 0 :(得分:0)

根据documentation,我们可以使用help:evaluate 来评估一些Maven表达式

这是以交互方式工作或以artifactexpression作为参数。如果在项目pom上运行,则报告项目的结果;如果没有pom,则报告artifact

并不是要为所有依赖项提供工件详细信息。

不确定您的要求是什么......如果要获取各种依赖项详细信息,您可以尝试maven dependency plugin的其中一个目标,例如mvn dependency:listmvn dependency:tree。如果要知道依赖项的版本是否是最新版本,您可以尝试versions maven plugin中的目标,例如mvn display-dependency-updates

修改

<pluginManagement&gt;中定义的插件 parent pom的部分仅在那些声明了这些<plugins>的模块中运行。在其他模块中,它们不会运行。也许mvn help:effective-pom可以提供一些信息。