首頁 > Java > java教程 > 為什麼在 Java 5 中編譯 Java 1.4 程式碼時 javax.xml.namespace.QName 無法存取?

為什麼在 Java 5 中編譯 Java 1.4 程式碼時 javax.xml.namespace.QName 無法存取?

Mary-Kate Olsen
發布: 2024-12-19 16:12:12
原創
730 人瀏覽過

Why is javax.xml.namespace.QName Inaccessible When Compiling Java 1.4 Code in Java 5?

由於rt.jar 庫限制,類別可訪問性受到限制

使用Eclipse 在Java 5 中編譯Java 1.4 程式碼時遇到錯誤。該錯誤訊息指出,由於 rt.jar 庫的限制,無法存取類型 javax.xml.namespace.QName。使用 IBM WSDL2Java 工具產生的存根時常會出現此問題。

根本原因

發生錯誤的原因是Java 5 運行時環境中的rt.jar 庫包含javax.xml.namespace.QName 類別的衝突版本與生成的存根中使用的版本不同。此版本不相容導致存取限制。

解決方案

您可以嘗試以下解決方案,而不是重新建立存根:

  1. 對- 在Eclipse 的Package Explorer 中點選您的項目並選擇屬性
  2. 導覽至Java 建置路徑 >
  3. 刪除JRE 系統函式庫條目。
  4. 點選新增庫並選擇JRE 系統函式庫.
  5. 選擇預設的 JRE 並點選好的

原因

刪除並重新加入 JRE 系統庫可確保 javax.xml.namespace 的版本正確.QName 先載入。預設情況下,Eclipse 可能會從 rt.jar 庫載入衝突版本,從而導致存取限制。

注意

如果您與其他類別遇到類似的衝突,您可以從建置路徑中排除包含衝突版本的特定 JAR 檔案。這可確保首先載入所需的版本。

以上是為什麼在 Java 5 中編譯 Java 1.4 程式碼時 javax.xml.namespace.QName 無法存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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