Maven模块 - 如何只构建我工作区中存在的子项目?

时间:2014-05-02 19:34:39

标签: maven build module maven-3 pom.xml

在我的父pom文件中:

<modules>
    <module>../project-snapshot-a</module>
    <module>../project-snapshot-b</module>
    <module>../project-snapshot-c</module>
</modules>

但是,在我的工作区中,我只有项目A,B。 其他人在他们的工作区中只有项目B,C。

如果父pom中我想要构建子项目,只有它可以位于本地工作区中,我该如何指定;否则我希望从远程存储库中获取更新的快照。 ???

2 个答案:

答案 0 :(得分:3)

这是接受答案的更好版本。当然,您可以使用配置文件,但我不认为每个程序员都应该有个人资料。它会导致一个庞大的POM,因为你错过了一些模块。相反,你可以这样做:

http://maven.40175.n5.nabble.com/Ignore-module-if-missing-td84118.html

<profile> 
  <id>module1-build</id> 
  <activation> 
    <file> 
      <exists>module1/pom.xml</exists> 
    </file> 
  </activation> 
  <modules> 
    <module>module1</modules> 
  </modules> 
</profile> 

我认为它更清洁,它本身就说明了。

但请注意,如果某些模块依赖于以前的模块,那将不是一件容易的事。

答案 1 :(得分:1)

您可以在配置文件中声明模块,每个开发人员都可以拥有自己的配置文件。您可以设置环境变量来保存程序员的名称,并根据该变量激活配置文件。