Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 Maven:如何使用依赖项(而不是所有存储库)的最新版本_Maven 2_Maven_Dependencies_Version_Maven 3 - Fatal编程技术网

Maven 2 Maven:如何使用依赖项(而不是所有存储库)的最新版本

Maven 2 Maven:如何使用依赖项(而不是所有存储库)的最新版本,maven-2,maven,dependencies,version,maven-3,Maven 2,Maven,Dependencies,Version,Maven 3,假设我有以下工件。为了简单起见,我将省略组 A:1.0 A:2.0 A:3.0 B:1.0 depends on A:1.0 C:1.0 depends on A:2.0 D:1.0 depends on B:1.0, C:1.0 A:1.0 A:2.0 A:3.0 B:1.0取决于A:1.0 C:1.0取决于A:2.0 D:1.0取决于B:1.0,C:1.0 我希望使用从其依赖项(而不是从存储库)继承的最新版本。在本例中,它是2.0 如何使用Maven 2或Maven 3实现这一点?通常Mav

假设我有以下工件。为了简单起见,我将省略组

A:1.0 A:2.0 A:3.0 B:1.0 depends on A:1.0 C:1.0 depends on A:2.0 D:1.0 depends on B:1.0, C:1.0 A:1.0 A:2.0 A:3.0 B:1.0取决于A:1.0 C:1.0取决于A:2.0 D:1.0取决于B:1.0,C:1.0 我希望使用从其依赖项(而不是从存储库)继承的最新版本。在本例中,它是2.0


如何使用Maven 2或Maven 3实现这一点?

通常Maven采用最接近根目录的版本,在您的情况下,Maven(2/3)应该自动选择:2.0(因为它们距离相同)

另一种选择是使用版本范围,如:[2.0],但这将从存储库中获取最新版本。(它将包括快照版本,这使得当前的maven3在版本范围内非常不可用)


(IMHO)正确的方法是使用带有依赖项管理标签的主pom,并声明所有子项目都应使用:2.0。

(只有在这样配置repo的情况下才包括快照。)@ED:是的,但如果maven配置为查看快照存储库(用于开发)和稳定存储库,则会发生这种情况。。。从开发的角度来看,我想要一些快照版本,但不是全部,对于一些内部开发的库,我当然想要最新的稳定版本。谢谢,你确认了我最坏的期望。。。主pom不是合适的解决方案。我认为在D的pom中定义版本更容易。诀窍是我不想手动定义版本。