团队的集中本地Maven存储库

时间:2019-04-04 10:53:11

标签: java maven repository maven-3 local

我们的开发人员团队使用Maven来构建软件。我们的计算机上有Maven本地存储库。问题在于,有时由两个不同的开发人员构建的构建会有所不同,因为构建的软件包包含所包含依赖项的不同版本。

当在POM.xml文件中未提及版本标签的依赖性时,会发生这种情况。例如:

temp_folder

在这种情况下,Maven获取本地安装的最新库。

为避免此问题,我们将Maven安装在一台计算机(我们称为Build服务器)上,我们团队的所有成员都在该计算机上进行构建。

这种情况下有更好的解决方案吗?

如何对Maven本地进行集中管理?

1 个答案:

答案 0 :(得分:1)

首先:如果您具有

之类的依赖项
<dependency>
    <groupId>mylib-group</groupId>
    <artifactId>mylib-artifact</artifactId>
</dependency>

Maven将采用最新版本,但采用<dependencyManagement>部分中定义的版本。这样一来,您在每台计算机上都会得到相同的结果(除非您使用的SNAPSHOT版本可能有所不同)。

说过:拥有稳定的构建环境通常是一个好主意。

附录:您可以共享Maven本地存储库。该存储库不是线程安全的,并且在同一本地存储库上同时运行两个构建可能会产生奇怪的效果(我从经验中得知)。