在 Eclipse RCP 中,我有一个具有 jar 依赖项的插件。 在这个 jar 中,一个名为“xsd”的包内有一些 .xsd 文件。
在同一个 jar 中,有一个类在实例化时在内部调用这些 .xsd 文件。
我面临的问题是,在使用 JAVA 17 运行时,当我调用此类时,Eclipse 给出以下异常:
org.xml.sax.SAXParseException; systemId: bundleresource://1142.fwk1919905302:2/xsd/message.xsd; lineNumber: 4; columnNumber: 100; schema_reference: Failed to read schema document 'service.xsd', because 'bundleresource' access is not allowed due to restriction set by the accessExternalSchema property.
我尝试将该属性插入到 Eclipse 启动器中:
-Djavax.xml.accessExternalSchema=all
但我没有成功。
有同样的问题,对我来说添加 jaxb-runtime 依赖项解决了它
<!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>4.0.4</version>
</dependency>