我已经问了一个类似的问题,其中部分问题得到解决,但我想进一步详细介绍。
在配置maven以查看内部存储库时,最好将该信息放在项目pom中还是用户的settings.xml中?解释为什么在这里真的很有帮助。
感谢,
杰夫
答案 0 :(得分:3)
我鼓励您将存储库定义放在POM中,这样任何开发人员都可以获取代码副本并运行Maven来编译它,而无需更改其设置文件中的内容
我发现 setting.xml 文件仅适用于 hacking Maven在特殊情况下的行为,例如当一个存储库由于防火墙而无法访问时您需要用一面镜子。但那是我个人的看法。 Maven文档为您提供更多自由:
中的设置元素 settings.xml文件包含元素 用于定义配置的值 Maven以各种方式执行,比如 pom.xml,但不应捆绑 任何特定的项目,或 分发给观众。这些 包括诸如本地之类的值 存储库位置,备用远程 存储库服务器和身份验证 信息。
如果你有一个在每个项目中使用的本地存储库,你可以在 settings.xml 中添加它,只要确保配置文档很好,在我当前的项目中它不是新的开发人员在尝试编译某些东西时就开始挣扎。
答案 1 :(得分:3)
你应该总是尝试制作maven项目,以便从本地环境中的源代码控制中进行干净的签出来编译;没有settings.xml。在我看来,这意味着您将任何覆盖放置在用户的settings.xml文件中的合理默认值。但是,pom应该包含适合每个人的合理价值观。
答案 2 :(得分:0)
我们使用用户的settings.xml并在自述文件中包含有关可能需要其他可能的回购的信息。
理论上,无论来自哪个回购,给定的group-artifact-version都是相同的。它对我们来说非常好用。如果您发现自己有两个具有相同的group-artifact-version标识符的不同资产,那么这表明您正在做一些非常糟糕的事情。