AEM、Maven:重复的包名称

AEM, Maven : duplicated package name

我想添加"fop-core"依赖。
我的项目已经添加了 "uber-jar" 依赖项。

uber-jar 依赖项有 org.apache.fop.apps.FopFactory.java 个文件。
但是,没有 org.apache.fop.apps.FopFactoryBuilder.java 文件。

fop-core 依赖项同时包含 FopFactory.java 和 FopFactoryBuilder.java 文件。

因此,我的程序在 "uber-jar" 而不是 "fop-core" 中加载 FopFactory.java。

我该如何解决这个重复问题??

  1. 我可以删除 "uber-jar" 依赖项中的 "FopFactory.java" 文件吗?

  1. 我可以在 "fop-core" 依赖项中强制加载 "FopFactory.java" 文件吗?

超级罐子

    <groupId>com.adobe.aem</groupId>
    <artifactId>uber-jar</artifactId>
    <classifier>apis</classifier>
</dependency>

fop-核心

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>fop-core</artifactId>
    <version>2.5</version>
</dependency>

确保 fop-core 依赖项在您的 pom.xml 文件中排在第一位。这应该可以解决问题。

HTH、OliG

呼应 Oliver Gebert 的回应,几个月前我为 Apache POI 做了这件事,主要 pom.xml,我把它作为第一个依赖项:

    <dependencyManagement>
    <dependencies>
        <!-- Apache POI (First in order to avoid conflict with the version from the UberJar) -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11</version>
        </dependency>