什么时候运行我自己的maven存储库?

dig*_*oel 5 java maven-2 maven

我正在与另一位开发人员合作开展一个小项目.我们正在使用在公共maven存储库中都可用的库.我们有一个单模块,多模块maven项目,但每次在我们的构建服务器和开发人员机器中构建所有模块.构建服务器上可以使用构建的工件进行部署.

我们有什么理由设置maven存储库管理器吗?它将在构建机器上运行,我必须通过VPN连接,并且比直接从互联网下载要慢.

bma*_*ies 5

运行repo管理器的最佳理由是在maven处理<repository>声明时实现可靠的行为.

如果您引用的任何依赖项或您使用的插件,或您使用的插件的依赖项,声明任何存储库,maven将开始搜索这些存储库中的所有内容.而且,如果它们不可靠或缓慢,那就是你的构建.虽然目前的政策是在中央禁止存储库声明,但是有很多历史的poms指向每个方向.

解决此问题的唯一方法是设置存储库管理器并在settings.xml中将其声明为"mirrorOf"'*'.然后,在存储库管理器中放置必要的规则,仅搜索要搜索的位置.

当然,如果您有多个人想要共享快照或发布,那么您也真的想要一个回购经理.这是显而易见的原因.

如果我关闭我的repo管理器并且只是尝试构建我的一些项目,这些项目运气不好,在其poms中具有存储库声明的插件/依赖项,则它们会失败.回购经理一切都很顺利.