首頁 > Java > java教程 > 如何逃離Java/Maven中的「Xerces地獄」?

如何逃離Java/Maven中的「Xerces地獄」?

Mary-Kate Olsen
發布: 2024-11-19 05:55:02
原創
308 人瀏覽過

How to Escape

處理 Java/Maven 中的「Xerces Hell」?

Xerces 是一種廣泛使用的XML 解析器,長期以來一直是令人沮喪的根源對於Java 開發人員來說,由於其歷史上存在無版本JAR、缺乏官方Maven 版本以及拆分jar(xml-apis 和xercesImpl)。這導致了版本衝突和類別載入器問題。

問題:

  • 衝突解決:使用具有儲存庫代理的企業軟體時,來自不同組織的多個版本的Xerces(例如xml-api)可以加入為依賴項,導致Maven 由於不同的groupId 而無法解決衝突。
  • 類別載入器地獄: JRE 包含Xerces 作為 JAXP 實作的一部分,但其版本可能與第三方程式庫或 servlet 容器使用的版本不相容。這可能會導致運行時出現類別載入問題。

解決方案:

將Xerces 依賴項標記為或可以提供幫助,但執行起來很困難,並且可能無法與所有框架/庫相容。

Maven 中心解決方案:

2013 年 2 月,Xerces 2.11.0 的 JAR其來源 JAR 已在 Maven Central 上發布。這消除了自訂建置的需要並簡化了依賴管理。

要使用Maven Central 版本:

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.11.0</version>
</dependency>
登入後複製

未來改進:

Apache Xerces 團隊已上傳修補後的建置腳本,允許自動Maven Central 上傳,解決「Xerces 地獄」的根本原因。此改進應該可以永久解決問題。

以上是如何逃離Java/Maven中的「Xerces地獄」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板