维护内部 Maven 存储库的提示?
我有兴趣为我的组织维护一个 Maven 2 存储库。有哪些指针和陷阱会有所帮助。
在设置从存储库下载代码或将自己的工件发布到存储库的标准时,用户应遵循哪些准则?对于这类事情,您有什么样的治理/规则?您在开发人员的指南/文档中包含了哪些有关它的内容?
更新:我们已经建立了Nexus,并对此非常满意 - 遵循了Sal的大部分准则,没有任何麻烦。此外,我们还通过 Hudson CI 服务器限制了快照工件的部署访问和自动构建/部署。Hudson 可以分析所有上游/下游项目依赖项,因此,如果编译问题、测试失败或其他一些违规行为导致构建中断,则不会发生部署。厌倦了在 Maven2/Maven3 中执行快照部署,因为两个版本之间的元数据已更改。“仅限哈德逊”快照部署策略将缓解此问题。我们不使用发布插件,但是在要移动快照以发布时,已经围绕版本插件编写了一些管道。我们还使用m2eclipse,它似乎与Nexus配合得很好,因为从设置文件中,它可以看到Nexus,并知道索引工件信息以便从那里进行查找。(尽管我不得不调整其中一些设置,使其完全索引我们的内部快照。如果您有兴趣这样做,我还建议您部署一个包含工件的源jar作为标准做法。我们在超级POM中配置它。
我遇到了这个Sonatype白皮书,其中详细介绍了采用/成熟度的不同阶段,每个阶段都有Maven存储库管理器的不同使用目标。