3 回答
TA贡献1839条经验 获得超15个赞
只需在当前pom中指定版本即可。此处指定的版本将覆盖其他版本。
强制版本
如果在当前POM中使用特定版本声明了版本,则将始终采用该版本-但是,应注意的是,如果该版本本身依赖于使用传递依赖项,则这也会影响下游的其他pom。
TA贡献1803条经验 获得超3个赞
或者,您可以仅排除不需要的依赖项。STAX包含在JDK 1.6中,因此,如果您使用1.6,则可以完全排除它。
我下面的示例对您来说有点不对-您只需要两个排除项之一,但我不确定哪个是排除项。还有其他版本的Stax,在下面的示例中,我导入A,然后导入B,又导入C&D,每个C&D(通过更多传递依赖项)都导入了不同版本的Stax。因此,由于我对'A'的依赖性,我排除了Stax的两个版本。
<dependency>
<groupId>a.group</groupId>
<artifactId>a.artifact</artifactId>
<version>a.version</version>
<exclusions>
<!-- STAX comes with Java 1.6 -->
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>javax.xml.stream</groupId>
</exclusion>
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>stax</groupId>
</exclusion>
</exclusions>
<dependency>
TA贡献1860条经验 获得超8个赞
我也无法排除第三方库中的依赖项。我在排除时使用了scot的方法,但在pom中也将依赖关系添加到了较新的版本中。(我使用了Maven 3.3.3)
因此,对于stAX示例,它看起来像这样:
<dependency>
<groupId>a.group</groupId>
<artifactId>a.artifact</artifactId>
<version>a.version</version>
<exclusions>
<!-- STAX comes with Java 1.6 -->
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>javax.xml.stream</groupId>
</exclusion>
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>stax</groupId>
</exclusion>
</exclusions>
<dependency>
<dependency>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
<version>1.0-2</version>
</dependency>
- 3 回答
- 0 关注
- 1405 浏览
添加回答
举报