当前位置 : 主页 > 网页制作 > Nodejs >

webservice-client – 使用JDK8的WebService客户端生成错误

来源:互联网 收集:自由互联 发布时间:2021-06-24
我需要在我的项目中使用一个Web服务。我使用NetBeans,所以我右键单击我的项目,并试图添加一个新的“Web服务客户端”。上次我检查,这是创建一个Web服务客户端的方式。但它导致一
我需要在我的项目中使用一个Web服务。我使用NetBeans,所以我右键单击我的项目,并试图添加一个新的“Web服务客户端”。上次我检查,这是创建一个Web服务客户端的方式。但它导致一个AssertionError,说:

java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/path/to/glassfish/modules/jaxb-osgi.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference: Failed to read schema document ‘xjc.xsd‘, because ‘file’ access is not allowed due to restriction set by the accessExternalSchema property.

NetBeans的默认Java平台是JDK8(Oracle的官方版本),因此当我更改了netbeans.conf文件并使JDK7(也是Oracle)作为默认值时,一切都很好。所以我认为问题是与JDK8。这里是我的java -version输出:

java version “1.8.0”
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

现在,我保持JDK7作为我的默认Java平台。如果有办法让JDK8工作,请分享。提前致谢。

好了,我找到了解决方案。 (基于 http://docs.oracle.com/javase/7/docs/api/javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA)

在/path/to/jdk1.8.0/jre/lib下创建一个名为jaxp.properties的文件(如果它不存在),然后在其中写下这一行:

javax.xml.accessExternalSchema = all

就这样。享受JDK 8。

网友评论