我有一個Apache Cocoon項目,我想將Apache FOP從1.0更新到1.1,以修復外部(非拉丁)腳本問題,例如希臘語。Maven依賴項排除:相同的工件id問題
我發現FOP 1.1有一個Maven的依賴性:
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>1.1</version>
</dependency>
錯誤:無法執行項目X的目標:無法解析項目com.X依賴關係中:jar:1.0-快照:未找到org.apache.avalon.framework:avalon-framework-api:jar:4.2.0 http://repo.maven.apache.org/maven2被緩存在本地存儲庫中,直到中央更新間隔已過或更新被強制爲止,分辨率纔會重新嘗試 - > [Help 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:繭了Maven插件:1.0.0-M2:準備(準備)在項目X上:至少有兩個工件的ID'avalon-framework-api':avalon-framework:avalon-framework-api:jar:4.2.0:compile「。
當然有。兩個依賴關係被排除在外,破壞的依賴關係和其中兩個被稱爲正確的依賴關係。我該如何解決這個問題?
有沒有一種機制可以請求將FOP 1.1從Maven中央回購庫中刪除,或者缺少的工件被添加?似乎奇怪的是,事情已被允許進入這個破碎的狀態。 – user2800708