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。