Maven:POM 文件或 settings.xml 中的分发管理配置

Posted

技术标签:

【中文标题】Maven:POM 文件或 settings.xml 中的分发管理配置【英文标题】:Maven : distribution management configuration in POM file or settings.xml 【发布时间】:2011-01-28 15:41:50 【问题描述】:

我想知道使用 maven 设置分发管理的最佳实践是什么。

我们在 maven settings.xml 和父 pom 文件中配置了 nexus 存储库。由于这在所有项目中不一致,而我们希望使其保持一致?

最好的方法是什么? pom 文件或 settings.xml?有什么好处和坏处?

我们认为它应该在每个人的 settings.xml 中,以便他们可以在他们想要的地方发布它。

【问题讨论】:

【参考方案1】:

pom 中的位置和传输协议设置。 $userhome/.m2/settings.xml 中的凭据

版本应该分发到一个一致的地方,否则有一个集中的存储库甚至工件命名约定有什么意义。

如果您希望它在该项目的非标准位置,则不要发布它,它显然不是发布。

【讨论】:

那么在pom文件中有分发管理部分对吗? 是的,绝对是,但不是凭据。您不想将密码存储在源代码控制存储库中。这也有助于控制谁有权发布工件,因为每个用户都使用自己的非共享用户 ID 和密码。根据使用的存储库,发布者的凭据甚至可以存储为发布者的审计跟踪。【参考方案2】:

我认为将您希望在该工作站上处理的每个项目重复的内容放入 settings.xml 是合适的。

因此,如果您的开发人员正在处理的所有项目都发布到同一个存储库(我认为这是在公司环境中会发生的情况),那么集中化这个设置是有意义的。

【讨论】:

以上是关于Maven:POM 文件或 settings.xml 中的分发管理配置的主要内容,如果未能解决你的问题,请参考以下文章

bintray:无法上传文件:pom文件中定义的Maven组、工件或版本不匹配

使用 pom 将 Maven 输出发送到控制台和日志文件

如何使用没有pom文件或settings.xml文件的maven直接将jar文件上传到nexus存储库?

maven之pom.xml文件配置

Maven POM

Maven POM