如何限制2个相同的罐子加载不同的版本

时间:2014-04-03 06:05:18

标签: java apache maven maven-plugin maven-assembly-plugin

我正在使用Apache Maven来构建项目..

问题是一些罐子在不同的版本中添加了两次。

的HttpClient-4.0.3 HttpClient的-4.3.3

的HttpCore-4.0.1 的HttpCore-4.3.2

杰克逊核-ASL-1.6.7 杰克逊核-ASL-1.9.13

我想要更高版本的罐子

1 个答案:

答案 0 :(得分:2)

通常你要做的是首先查看依赖树,看看相同的jar来自哪里:

mvn dependency:tree

在跟踪了不同依赖关系的来源之后,就像在您的情况下一样,选择较旧的依赖关系,然后继续在依赖关系中添加<exclusion/>标记,以检索旧版本。 如何在另一个依赖项中排除依赖项的示例: 我们假设您hibernate中有ehcachepom.xml个依赖项。例如,如果hibernate 3.2.6.ga位于ehcache内,但它是旧版本,我们不需要该版本。因此,为了从ehcache依赖项中排除hibernate,我们将执行以下操作

<dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate</artifactId>
     <version>3.2.6.ga</version>
     <exclusions>
         <exclusion>
             <groupId>net.sf.ehcache</groupId>
             <artifactId>ehcache</artifactId>
         </exclusion>
     </exclusions>
</dependency>

现在,我会帮助您并为正在检索旧依赖项的依赖项添加正确的排除项,但由于我无法看到您的pom.xml,因此很难提供更多帮助。