哪里是指定maven项目所需储存库的最佳位置,pom.xml
或settings.xml
?每个地点有什么优点和缺点?什么是最佳做法?哪里是指定maven仓库,pom.xml或settings.xml的最佳位置?
在我看来,在POM定义库是有很多原因更好:
- 重复性:从属文物是从在POM显式声明的已知位置来。用户配置不当的存储库导致问题的机会也较少。
- 可移植性:此POM将建立在安装了maven的任何人的机器上。对额外的用户配置的存储库设置没有额外的要求。
- 易用性:新开发人员更容易检索和构建项目,因为安装的配置较少。
也许一个反面的是,如果在未来的存储库的位置发生变化,需要安装或旧的软件补丁发布需要被释放指定新的存储库位置代理(或.m2/settings.xml
可以随时提供额外的存储库作为最后的手段)。但是,这似乎是发布管理中良好的可重复性和可移植性的必要分支,而不是一个骗局。
还有其他想法吗?
如果回购库位发生变化,您只需更新pom并确保每个人都刷新其本地副本。 – 2010-02-08 23:09:20
正确,但旧版本可能已作为发行版发布(例如:zip,tar.gz)。重现性的一个好处是您可以采取任何分配/版本,无论出于何种原因应用补丁,并且您都可以获得确切的功能分布以及补丁,而无需其他任何补丁。 – jnorris 2010-02-08 23:13:34
我的意见与@jnorris完全一致,但Sonatype提供了一些要考虑的问题(可能过时了?):关于将URL保留在分布式POM文件中:http://blog.sonatype.com/2009/02/why-putting-repositories-in - 你的poms是一个坏主意/ – chrisinmtown 2017-12-26 16:30:52