避免在maven多模块项目中引用父pom

时间:2013-08-16 23:55:29

标签: maven multi-module

我的多模块项目由公共(开源)和私有(未公开)模块组成。我需要创建一个master-all pom文件,引用master-public和master-private,这样一些插件和命令知道所有项目(例如cobertura)。因此,master-all是私有的,因为它引用了master-private。

问题是master-public应该引用其父master-all是私有的,因此公共模块的用户将无法构建它们:

<groupId>group</groupId>
<artifactId>master-public</artifactId>
<parent>
    <groupId>group</groupId>
    <artifactId>master-all</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

将master-public嵌入master-private可能是maven的解决方案,但对于git来说将是一团糟。

有干净的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以将您的主 - 私人参考作为主 - 公开。但根据我的经验,最好将它们完全分开。最终,master-public将更多地调整为开源,可能部署到Maven Central,而master-private将部署到你的内部存储库,并且可能有一些只在你的企业环境中有意义的特殊设置。从master-private复制你需要的任何东西到master-public并断开两者的连接。

相关问题