Maven下载错版本

Maven downloads the wrong version

我在 pom.xml 中指定依赖版本 75.1.3 指向我的其他项目之一:

 <properties>     
   <myotherproject.version>75.1.3</myotherproject.version>
 </properties>
 <dependencies>
         <dependency>
             <groupId>com.myotherproject</groupId>
             <artifactId>MyOtherProject</artifactId>
             <version>${myotherproject.version}</version>
         </dependency>
 <dependencies>

但是当我构建(全新安装)主项目时,maven 总是下载一些其他版本 75.1.1:

[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Downloading from maven-local: https://mycompany.com/maven-local/com/myotherproject/MyOtherProject/75.1.1/MyOtherProject-75.1.1.pom
[INFO] Downloaded from maven-local: https://mycompany.com/maven-local/com/myotherproject/MyOtherProject/75.1.1/MyOtherProject-75.1.1.pom (6.0 kB at 19 kB/s)
[INFO] Downloading from maven-local: https://mycompany.com/maven-local/com/myotherproject/MyOtherProject/75.1.1/MyOtherProject-75.1.1.jar
[INFO] Downloaded from maven-local: https://mycompany.com/maven-local/com/myotherproject/MyOtherProject/75.1.1/MyOtherProject-75.1.1.jar (329 kB at 918 kB/s)

我已经查找了 75.1.1 版本,但在项目中没有提到它。对另一个项目的依赖只在那个地方定义。当我从 .m2 文件夹中删除相应的文件夹 75.1.1 时,它会在每次构建时再次下载它。 当然,由于缺少符号(仅在 75.1.1 之后出现),构建失败。

我尝试在 pom.xml 中指定版本:75.1.2、75.1.3、75.1.4-SNAPSHOT,但它始终使用 75.1.1。

我也尝试过将 maven-compiler-plugin 版本强制为 3.10.1,但它并没有解决问题。

我不知道现在还能尝试什么...我正在使用 Eclipse IDE。

通常这些问题是由其他(有时是间接)依赖性引起的。

我建议你发出命令 dependency:tree 并根据旧的工件版本检查是谁。

终于找到原因了。 我的主项目 pom.xml 中的版本已更新,但其子项目 pom.xml 中的版本未更新。因此,子项目是基于旧快照构建的,引用了旧版本的依赖项(另一个项目)。

我当时的想法是:

Parent project 5.2.2 -----> Children projects 5.2.2 --x--> Other project 75.1.3

它实际上是什么:

Parent project 5.2.2 --x--> Children projects 5.1.3 -----> Other project 75.1.1

所以问题出在父项目和子项目之间,而不是maven依赖的问题。