【问题标题】:Maven for multiple modules用于多个模块的 Maven
【发布时间】:2012-03-01 11:28:09
【问题描述】:

如何像我一样在 Maven 中使用父 pom 运行选定的模块

<module>APP_1</module>
<module>web_1</module>
<module>service_1</module>
<module>schema_1</module>

<module>APP_2</module>
<module>web_2</module>
<module>service_2</module>
<<module>schema_2</module>

有时作为开发人员,如果我只想构建第一个模块,那么我应该如何在父 pom 中完成这项任务?

【问题讨论】:

    标签: maven maven-2 maven-plugin maven-3 maven-release-plugin


    【解决方案1】:

    首先你必须做出决定。

    假设您的某些子模块依赖于其他子模块,您必须决定是否要:

    a) 使用位于 ~/.m2/repository 目录中的依赖模块的最后构建版本自行构建一个或多个模块。如果您想重建依赖于service_2 模块的web_2 模块,这将非常有用,但service_2 目前已被破坏且无法编译。在这种情况下,请执行以下操作:

    mvn clean install --projects module-directory-name

    b) 你想构建一个模块并让 maven 递归地检查所有依赖模块以查看它们是否需要重新构建。这通常更慢且更安全。这个命令是:

    mvn reactor:make -Dmake.artifacts=com.yourgroup:module-name

    我每天都在不同的时间使用这两种方法。

    【讨论】:

    • 乐于提供帮助...如果您对它感到满意,请单击答案旁边的绿色复选标记。也可以随时为您认为有帮助的任何/所有答案投票。
    • 它在 maven 2.2.1 版本上运行良好,但在 3.0.3 版本上没有任何建议
    • 使用您正在运行的命令和您看到的错误发布一个新问题,然后在您执行此操作时在此处留下评论。某些东西在 3.0.3 中无法运行的原因可能有很多——都很容易解决。
    【解决方案2】:
    mvn reactor:make -Dmake.folders=barBusinessLogic
    

    here所述

    【讨论】:

    • 这对我不起作用。 Maven 报告了一个错误,指出 - “目标 org.apache.maven.plugins:maven-reactor-plugin:1.0:make 的参数 'artifactList' 丢失或无效”。这个解决方案是针对特定 Maven 版本的吗?我正在使用 Maven 3.0.4。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 2019-08-23
    • 2015-02-24
    • 2013-03-11
    相关资源
    最近更新 更多