遷移到JDK 10 後XML 類別的Eclipse 建置路徑問題
將Maven 專案從建置路徑問題
將Maven 專案從建置 8 移轉到JDKlipse 時,用戶可能會遇到涉及javax.xml.xpath 等類別的建置錯誤, org.w3c.dom.Document 和 org.xml.sax.SAXException。當專案的 Java 建置路徑切換到 JDK 10 時,特別會出現此問題。
根本原因
問題源自於專案缺少模組資訊。 java 檔案。此設定會導致程式碼在“未命名模組”中編譯。未命名模組可以從所有可觀察模組載入包,在本例中包含來自 Java 執行時間環境的 java.xml 和來自 Maven 依賴項的 xml-apis 等包。
規則違反
這種情況違反了 Java 語言規範 (JLS) §7.4.3,該規範要求限定類型名稱的唯一可見性。在這種情況下,java.xml 和 xml-api 中的套件為 java.xml.xpath 和相關類別提供了衝突的定義。
解
1 。新增一個 module-info.java 檔案
實作一個 module-info.java 檔案並指定需要的模組,要嘛需要 java.xml;或需要 xml.apis;,解決可見性問題。
2.從可觀察模組中排除 java.xml
從可觀察模組清單中排除 java.xml 來避免衝突。這可以透過 Eclipse 中的「模組化詳細資料」對話框來實現。
含義和結論
雖然 javac 可能不會拒絕錯誤代碼,但根據JLS。此後,Eclipse 錯誤訊息傳遞得到了改進,可以提供更具體的潛在問題指示。建議開發人員遵守 Java 的模組化準則並確保其模組的獨特可見性,以防止此類建置錯誤。以上是為什麼在遷移到 JDK 10 後,我會遇到 XML 類別的 Eclipse 建置路徑錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!