如何指定 maven 的分布管理组织范围?
我试图弄清楚如何组织许多(大约50多个)maven2项目,以便它们可以部署到中央nexus存储库中。使用目标时,确实需要在 distributionManagement 标记中指定目标,如下所示:mvn deploy
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
现在,我不希望每一个pom.xml(50 +)一遍又一遍地包含这个块。我的第一个是文件,但似乎不可能(通过设计)在那里定义它。那么,第一个问题是,为什么会这样?如果可能的话,我可以在设置中指定它.xml maven2发行版中,它可以分发给所有开发人员。settings.xml
我发现的唯一可能的解决方案是创建一个组织范围的master-pom项目,其中包含这些设置,并使所有其他pom.xml依赖于这个master-pom via标签。但这在多模块构建中看起来有点奇怪:<parent>
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
通常我在所有文档中都读到模块poms应该使用父pom,而不是一些不同的。但是在阅读了关于继承v的maven网站之后。聚合 它写道,它确实是可能的。
我发现的一个问题是maven站点生成,它似乎确实存在此设置问题(如果模块没有直接的反向引用,则模块无法正确链接)
那么,这是一种有效的方法吗?还有其他更明显,更简单的问题解决方案吗?