我在该依赖顺序中有3个项目 MyLibA - > MyLibB - > MainProject ,简单明了且足够简单。
我想使用最新版本的javax.mail
,因此我将以下代码放在 MyLibB ' s pom.xml
中,并在 MyLibB
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.1</version>
</dependency>
但是,出于某种原因,它最终使用1.5.5
,因为 MyLibA 中的另一个依赖项(Wildfly)包含1.5.5
:
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-spec-api</artifactId>
<version>10.1.0.Final</version>
<type>pom</type>
</dependency>
有趣的是,当我去查看 MyLibB 中的Dependency Hierarchy
标签和 MainProject &#39; s { {1}},它解析为使用pom.xml
,而在我运行项目时并非如此!我知道因为调试说1.6.1
我之前也遇到过这个问题,在Wildfly 8中运行的项目(已损坏)但在Wildfly 10中运行。
是什么给出的?除了更新Wildfly版本之外,我该如何解决这个问题?