多模块项目 - 冗余pom.xml

时间:2015-07-22 14:52:12

标签: maven

我有一个类似于以下结构的项目:

project-root
|--pom.xml (parent pom)
   |--moduleA
      |--pom.xml (redundant?)
      |--moduleA1
         |--pom.xml
      |--moduleA2
         |--pom.xml
   |--moduleB
      |--pom.xml

查看moduleA根目录下的POM文件。只需将moduleA1moduleA2链接到父pom即可。

使用此配置,在父pom中我将仅引用模块moduleA并使用可能冗余的模块链接子模块。

问题::是否可以删除这个冗余的pom然后如下链接父pom中的模块,或者是否违反约定

<module>moduleA/moduleA1</module>
<module>moduleA/moduleA2</module>

这样做的原因是我发现有一堆这样的链接类型的poms&#34;安装在我的存储库中。

谢谢

2 个答案:

答案 0 :(得分:1)

嗯,假设您为<parent><relativePath>../..</relativePath></parent>moduleA1设置moduleA2当然是可以接受的,所以他们在文件系统级别链接他们的父级(而不仅仅是Maven存储库) )。

我认为没有任何理由反对你的想法,但这种情况并不常见。

答案 1 :(得分:1)

如果你认为他们是多余的,为什么不删除这个级别。

您目前有:

project-root
|--pom.xml (parent pom)
   |--moduleA
      |--pom.xml (redundant?)
      |--moduleA1
         |--pom.xml
      |--moduleA2
         |--pom.xml
   |--moduleB
      |--pom.xml

所以为什么不把你的结构改成这个:

project-root
|--pom.xml (parent pom)
    |--moduleA1
        |--pom.xml
    |--moduleA2
        |--pom.xml
   |--moduleB
      |--pom.xml

通常中间级别有想法在“冗余”pom文件中定义常见的东西特殊插件配置,这些配置仅对moduleA1和moduleA2等有效。如果你没有这样的东西,那么做一个没有意义中级。