![](/img/trans.png)
[英]The package org.w3c.dom is accessible from more than one module: <unnamed>, java.xml
[英]Specific question concerning "The package org.w3c.dom is accessible from more than one module: <unnamed>, java.xml"
我正在將我的公司項目從 Java 1.8 遷移到 OpenJDK 14。像其他多個人一樣(在這個、 這個或這個線程中)我遇到了 Java 9 模塊化的一些麻煩,特別是包org.w3c.dom
。
我已經生成了module-info.java
,目前 JRE 系統庫 (OpenJDK 14) 和所有外部 JAR 都在 Java 構建路徑的 Modulepath 上。 所以我不再有錯誤module: <unnamed>
。 我現在得到的實際編譯錯誤是:
The package org.w3c.dom is accessible from more than one module: batik.all, java.xml, xml.apis.ext
順便說一句,我不能簡單地刪除 JAR batik.all
和xml.apis.ext
,因為項目中使用的其他包不在 JavaSE 中。
我的主管還告訴我不要將任何非 maven 項目轉換為 maven 項目,我提到了這一點,因為我發現的所有其他參考資料似乎都在討論利用 Maven 依賴項和排除項的解決方案。
現在經過一些分析,我得出的結論是,我擺脫這些錯誤的最有效方法是解壓兩個 JAR 文件,反編譯這些包,從這些外部 JAR 中刪除重復的org.w3c.dom
並最后重新編譯整個內容並將該自定義 JAR 傳遞到構建路徑。
module-info.java
,所以也許有一種更簡單的方法來排除該文件中的那些包? 我對替代解決方案持開放態度!您不需要反編譯/重新編譯任何東西,您只需刪除該包對應的 JAR 文件中的目錄即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.