【问题标题】:Avoiding/Resolving duplicate classes in Maven Project避免/解决 Maven 项目中的重复类
【发布时间】:2012-12-20 19:50:05
【问题描述】:

我有一个巨大的项目 A,它有依赖项目 B(不在我们的控制范围内)。 问题是当我在A项目pom.xml下包含B时,一切正常,构建成功。

但在少数领域,由于重复的类,我们面临运行时异常。

项目 A 有自己的 JDom 依赖版本,项目 B 使用不同/相同的 JDom 版本。在应用程序运行时,由于类冲突,它会抛出 InvocationTarget 异常。

我如何确保项目 A 使用自己的 jdom 而项目 B 使用自己的 jdom 或至少解决此类冲突?

【问题讨论】:

    标签: java maven-2 dependencies duplicates pom.xml


    【解决方案1】:

    您可以从正在导入的项目 B 中排除(传递)依赖项。

    <project>
      ...
      <dependencies>
        <dependency>
          <groupId>com.example</groupId>
          <artifactId>ProjectB</artifactId>
          <version>1.0</version>
          <scope>compile</scope>
          <exclusions>
            <exclusion>
              <groupId>jdom</groupId>
              <artifactId>jdom</artifactId>
            </exclusion>
          </exclusions> 
        </dependency>
      </dependencies>
    </project>
    

    上面的例子将导致你的项目 B 依赖被拉入,没有它的 JDOM 库版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 2019-05-21
      • 2015-08-01
      • 2010-10-09
      • 2015-07-24
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多