多模块maven项目

时间:2010-03-05 15:40:49

标签: java eclipse maven-2

如果我的项目中有6个模块,是否可以只构建六个模块中的一个?没有评论别人?

修改

子模块将无法使用itselft或父标签。我需要先安装父进程才能进行构建。如何在不安装父

的情况下完成

4 个答案:

答案 0 :(得分:10)

  

是否有可能只建造六个中的一个?没有评论别人?

我的理解是你想从聚合项目(即反应堆构建)启动maven,但只构建一个模块。可以使用 -pl--projects 项目列表选项(请参阅advanced reactor options):

mvn --projects my-submodule install

这是一个非常强大的选项,特别是与--aslo-make(也用于构建列出的模块所依赖的项目)或--also-make-dependents结合使用时(以构建依赖于列出的项目)模块)。根据您的更新,您可能实际需要这样:

mvn --projects my-submodule --also-make install

从您要构建的模块目录中启动Maven当然是一个选项,但这不允许您执行上述操作,也不能构建所有模块的子集。对于此类用例,先进的反应堆选项是可行的方法。

答案 1 :(得分:3)

打开一个命令shell,导航到子模块目录并执行mvn install(或者你喜欢的生命周期)应该可以解决问题。

答案 2 :(得分:2)

您可以通过进入此模块目录并运行mvn clean install

来构建模块

但请注意,使用此方法时,将从本地存储库(或entreprise存储库)中获取与其他模块的依赖关系。

我们举一个简单的例子:

project
  + commons
  + business

现在,假设您使用mvn clean install命令在 root 目录上构建整个项目。请考虑所有模块都使用版本1.0

现在,您转到版本1.1。如果您仅在mvn clean install项目上运行business,则会尝试获取模块1.1的{​​{1}}。然后您将收到错误,因为Maven在您的本地存储库中找不到任何版本commons

答案 3 :(得分:0)

在Eclipse中,假设您安装了m2eclipse:右键单击相关模块并选择Run As - > Maven包。