Java 避免/解决Maven项目中的重复类

Java 避免/解决Maven项目中的重复类,java,maven-2,dependencies,duplicates,pom.xml,Java,Maven 2,Dependencies,Duplicates,Pom.xml,我有一个巨大的项目A和依赖项目B(不在我们的控制范围内)。 问题是,当我在pom.xml项目中包含B时,一切都很好,构建也很成功 但在一些领域,由于类重复,我们面临运行时异常 项目A有自己的JDom依赖版本,项目B使用不同/相同的JDom版本。在应用程序运行时,由于类冲突,它会引发调用目标异常 如何确保项目A使用自己的jdom,而项目B使用自己的jdom或至少解决此类冲突?您可以从正在导入的项目B中排除(可传递的)依赖项 <project> ... <dependenc

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

但在一些领域,由于类重复,我们面临运行时异常

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

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

您可以从正在导入的项目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>

...
com.example
项目B
1
编译
Java文档对象模型
Java文档对象模型
上面的示例将导致您的Project B依赖项被拉入,而不包括其版本的JDOM库