我有一个Apache Cocoon项目,我想将Apache FOP从1.0更新到1.1,以修复外来(非拉丁语)脚本问题,例如希腊语。
我发现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 .framework:avalon-framework-api:jar:http://repo.maven.apache.org/maven2 中的4.2.0被缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析 - &gt ; [帮助1]
我在这个问题上搜索一个解决方案,我发现这个依赖关系已经破坏了一些其他依赖项的链接,FOP 1.1需要调用它们。这些与Avalon框架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-maven-plugin:1.0.0-M2:准备(准备)项目X :至少有两个ID为'avalon-framework-api'的工件:avalon-framework:avalon-framework-api:jar:4.2.0:compile“。
当然有。排除两个依赖项,破坏它们,其中两个被称为正确的依赖项。我该如何解决这个问题?
答案 0 :(得分:7)
尚未对此进行测试,但可能不包括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>