首頁 >Java >java教程 >為什麼我的 Eclipse Maven 專案升級到 JDK 10 後找不到 XML 類別?

為什麼我的 Eclipse Maven 專案升級到 JDK 10 後找不到 XML 類別?

DDD
DDD原創
2024-12-07 13:51:17202瀏覽

Why Does My Eclipse Maven Project Fail to Locate XML Classes After Upgrading to JDK 10?

Eclipse 建置錯誤:在JDK 10 升級後定位XML 類別

一些使用者在切換其Java 建置路徑後遇到了令人困惑的問題Maven專案到JDK 10。 Eclipse建置無法找到與XML處理相關的類,例如javax.xml.xpath.XPath 和 org.w3c.dom.Document。有趣的是,從 Eclipse 建置的 Maven 運行時沒有錯誤。

根本原因:模組衝突

這個問題的根本原因在於專案缺少模組資訊.java 檔案。如果沒有此文件,專案將駐留在「未命名模組」中,並讀取所有可觀察的命名和未命名模組,包括JRE 中的「java.xml」和專案自己的類別路徑中的「xml. apis」。

唯一可見性要求

這種情況違反了Java語言規範的「唯一可見性」要求。每個限定類型名稱必須有一個唯一可見的套件。但是,由於「java.xml」和「xml.apis」都提供具有相同名稱的套件(例如 java.xml.xpath),因此會出現衝突。

潛在解決方案

要解決此問題,請考慮以下解決方案:

1.新增module-info.java 檔案

此檔案可讓您控制專案讀取哪些模組。透過指定requires java.xml;或需要xml.apis;,可以明確定義依賴關係,避免衝突。

2.避免Eclipse 中的衝突

在不添加module-info.java 檔案的情況下,您仍然可以透過使用「模組化詳細資料」對話框來防止Eclipse 中的衝突。將 java.base 以外的所有模組移至左側(“可用模組”),並選擇性地重新添加任何必要的模組。

儘管有這些解決方案,Eclipse 錯誤訊息仍然不準確,無法找出實際問題。該消息已改進,但根本問題仍然存在。

以上是為什麼我的 Eclipse Maven 專案升級到 JDK 10 後找不到 XML 類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn