java - Maven 没有使用 pom.xml 中指定的依赖版本
问题描述
我有一个项目 A,它具有 B 和 C 依赖项。项目 B 也依赖于 C。
在项目 A pom 中,我有:
<dependencyManagement>
<dependency>
<groupId>br.com.mygroup</groupId>
<artifactId>C</artifactId>
<version>2</version>
</dependency>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>br.com.mygroup</groupId>
<artifactId>B</artifactId>
<version>BVERSION</version>
</dependency>
<dependency>
<groupId>br.com.mygroup</groupId>
<artifactId>C</artifactId>
<version>2</version>
</dependency>
<dependencies>
在项目 B(版本BVERSION
)中,我有:
<dependencies>
<dependency>
<groupId>br.com.mygroup</groupId>
<artifactId>C</artifactId>
<version>1</version>
</dependency>
</dependencies>
我在版本 2 的 C 依赖项中添加了一些方法,但是当我尝试使用新方法时代码无法编译。也就是说,我无法访问新方法。项目 A 正在使用 C 的版本 1(在项目 B 中)。
如果我将项目 A pom 中的导入顺序从 更改B, C
为C, B
,则代码会编译,但在执行时会java.lang.NoSuchMethodError
出现错误。
maven 不应该dependencyManagement
处理这个问题并强制项目 A 使用 C 的第 2 版吗?有谁知道我做错了什么?
编辑1:
mvn dependency:tree
返回以下内容:
[INFO] br.com.mygroup:A:1.0-SNAPSHOT
[INFO] +- br.com.mygroup:B:jar:BVERSION:compile
[INFO] +- br.com.mygroup:C:jar:2:compile
编辑2:
mvn dependency:list
返回以下内容:
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< br.com.mygroup:A >---------------------
[INFO] Building A 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ A ---
[INFO]
[INFO] The following files have been resolved:
[INFO] br.com.mygroup:B:jar:BVERSION:compile
[INFO] br.com.mygroup:C:jar:2:compile
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.639 s
[INFO] Finished at: 2019-10-04T09:03:37-03:00
[INFO] ------------------------------------------------------------------------
解决方案
推荐阅读
- postgresql - 如何修复“错误:UPDATE 中不允许聚合函数”
- python-3.x - Python正则表达式在多行中编译匹配
- python-3.x - 如何使用 groupby 计算 vwap(交易量加权平均价格)?
- php - 如何将 SQL INSERT INTO SELECT 与 codeigniter 一起使用
- excel - 如何从excel中捕获outlook中的自定义按钮单击事件?
- java - Intellij 可以构建我的项目,但 javac 无法编译/查找符号
- c++ - 如何修复 OpenCV 断言失败错误?
- javascript - 添加对象的元素并存储在对象中
- ios - TableView 框架更改 - 单元格布局错误?
- kubernetes - 如何为 Kubernetes 中的特定部署允许端口转发?