Maven依赖性排除:相同的人工ID问题



我有一个Apache Cocoon项目,我想将Apache FOP从1.0更新为1.1,以解决外国(非LATIN)脚本问题,例如Greek。

我发现FOP 1.1具有maven依赖性:

<dependency>
  <groupId>org.apache.xmlgraphics</groupId>
  <artifactId>fop</artifactId>
  <version>1.1</version>
</dependency>

错误:无法在项目X上执行目标:无法解决项目com.x的依赖项:jar:1.0-snapshot:未能找到org.apache.avalon。是否已通过或更新被强制 -> [help 1]

我在本期中搜索解决方案,我发现这种依赖关系断开了与其他依赖关系的链接,FOP 1.1需要调用哪些依赖关系。这些与Avalon Framework API 4.2连接。我在邮件列表中读到,可能试图使用排除并调用额外依赖项的工作正常。解决方案是此代码:

<dependency>
  <groupId>org.apache.xmlgraphics</groupId>
  <artifactId>fop</artifactId>
  <version>1.1</version>
  <exclusions>
    <exclusion>
     <artifactId>avalon-framework-api</artifactId>
     <groupId>org.apache.avalon.framework</groupId>
    </exclusion>
    <exclusion>
     <artifactId>avalon-framework-impl</artifactId>
     <groupId>org.apache.avalon.framework</groupId>
    </exclusion>
  </exclusions>
  </dependency>
  <!-- these two are to correct issues in fop dependency --> 
  <dependency>
   <groupId>avalon-framework</groupId>
   <artifactId>avalon-framework-api</artifactId>
   <version>4.2.0</version>
  </dependency>
  <dependency>
   <groupId>avalon-framework</groupId>
   <artifactId>avalon-framework-impl</artifactId>
   <version>4.2.0</version>
</dependency>

现在编译返回以下 error2:"无法执行目标org.apache.cocoon.cocoon:Cocoon-maven-Plugin:1.0.0-m2:1.0.0-m2:准备X上的项目X:至少有两个文物具有'avalon-framework-api':avalon-framework:avalon-framework-api:jar:4.2.0:编译:

当然有。排除了两个依赖项,损坏的依赖项被称为正确的依赖项。我该如何解决此问题?

尚未对此进行测试,但也许不包括org.apache.avalon.framework v4.2.0,而不是最新的v4.3.1。例如:

    <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>fop</artifactId>
        <version>1.1</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.avalon.framework</groupId>
                <artifactId>avalon-framework-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.avalon.framework</groupId>
                <artifactId>avalon-framework-impl</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.3.1</version>
    </dependency>

最新更新