解決由於庫限製而對類別的存取限制
嘗試使用Java 5 編譯IBM WSDL2Java 生成的Java 1.4 程式碼而不重新生成存根中,使用者在Eclipse 中遇到存取限制錯誤。此錯誤源自於由於所需庫 rt.jar 的限製而無法存取 QName 類型。
要解決此問題,有多種可能的解決方案:
重新建立存根:
一種可能的途徑是使用最新版本的WSDL2Java 重新產生存根。雖然這種方法確保了與所使用的 Java 版本的兼容性,但如果生成的程式碼與原始程式碼顯著不同,則可能會帶來額外的複雜性。
重新排序類路徑:
另一個選擇已證明有效的解決方案是修改項目的構建路徑設定:
此過程重新排序類路徑,優先考慮適當的類別並解決訪問限制
排除重複的JAR:
要獲得更全面的解決方案,請確保從專案中排除包含相同類別的重複JAR 檔案。這可以防止衝突並確保使用正確的類別。
在提供的範例中,透過排除 axis-saaj-1.4.jar 和 saaj-api-1.3.jar 檔案解決了該問題,這兩個檔案包含 javax.xml.soap.SOAPPart 類別。
以上是在 Java 5 中使用 IBM WSDL2Java 產生的程式碼時如何解決 Java 存取限制錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!