使用CXF遇到的錯誤

今天在學習webservice框架CXF時,使用wsdl2java生成客戶端調用代碼時,遇到了一個錯誤

Caused by: 
org.xml.sax.SAXParseException; 
systemId: jar:file:/D:/apache-cxf-2.7.11/apache-cxf-2.7.11/lib/jaxb-xjc2.2.6.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; 
lineNumber: 52; columnNumber: 88; schema_reference: 
由於 accessExternalSchema 屬性設置的限制而不允許 'file' 訪問, 因此無法讀取方案文檔 'xjc.xsd'

在網上百度了下,看了大神給出的解決方案,頓時明白了。
1、首先分析錯誤的原因:
本人使用的jdk和jre版本都是1.8,使用的cxf版本是apache-cxf-2.7.11,網上大神說這裏是由於jdk1.8的一個bug,具體詳情https://bugs.openjdk.java.net/browse/JDK-8020999
2、解決方案:
在jdk的安裝路徑下,我的是 C:\Java\jdk1.8.0_65\jre\lib,添加一個屬性文件jaxp.properties,並寫上如下內容javax.xml.accessExternalSchema = all

發佈了30 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章