我有一个带有maven依赖项的项目,它引入了两个包,其中一个包含了一个子依赖项,它与另一个版本的版本相同。 dependency:tree
看起来像这样:
Dependency convergence error for xerces:xercesImpl:2.10.0 paths to dependency are:
+-com.vaadin:vaadin-client-compiler:7.6.4
+-net.sourceforge.nekohtml:nekohtml:1.9.19
+-xerces:xercesImpl:2.10.0
and
+-com.vaadin:vaadin-client-compiler:7.6.4
+-xerces:xercesImpl:2.11.0
以上是maven enforcer插件的输出,我正在强制执行依赖版本收敛。
有没有办法可以指定要排除的版本而不会完全排除整个子依赖项?
答案 0 :(得分:4)
将pom.xml中的net.sourceforge.nekohtml依赖项声明为一级依赖项,并直接向其添加排除项。
参考:Maven Optional and Excludes
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.19</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>