我需要在我的项目中使用 Web 服务。我使用 NetBeans,因此右键单击我的项目并尝试添加新的“Web 服务客户端”。上次我检查过,这是创建 Web 服务客户端的方法。但它导致了一个断言错误,说:
java.lang.AssertionError: org.xml.sax.SAXParseException;系统ID:jar:文件:/path/to/glassfish/modules/jaxb-osgi.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd;行号:52;列数:88; schema_reference:无法读取架构文档'xjc.xsd',因为由于设置的限制而不允许“文件”访问访问外部模式财产。
NetBeans 的默认 Java 平台是 JDK8(Oracle 的官方版本),因此当我更改 netbeans.conf 文件并将 JDK7(也来自 Oracle)作为默认版本时,一切工作正常。所以我认为问题出在JDK8上。这是我的java -version
output:
java版本“1.8.0”
Java(TM) SE 运行时环境(内部版本 1.8.0-b132)
Java HotSpot(TM) 64 位服务器 VM(内部版本 25.0-b70,混合模式)
目前,我保留 JDK7 作为我的默认 Java 平台。如果有办法让 JDK8 工作请分享。
好吧,我找到了解决方案。 (基于http://docs.oracle.com/javase/7/docs/api/javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA)
创建一个名为jaxp.properties
(如果不存在)下/path/to/jdk1.8.0/jre/lib
然后在其中写入这一行:
javax.xml.accessExternalSchema = all
就这样。享受 JDK 8。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)