特定版本

时间:2016-11-17 13:05:31

标签: maven

我有一个带有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插件的输出,我正在强制执行依赖版本收敛。

有没有办法可以指定要排除的版本而不会完全排除整个子依赖项?

1 个答案:

答案 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>