我有一个包含xjc目标的ant build.xml
文件。
显然,构建过程适用于Ant 1.7.1,但任何较新的版本都会导致构建失败。我正在使用以下内容:
错误消息的确切文本是:
build.xml:96:java.lang.AssertionError:org.xml.sax.SAXParseException; systemId:jar:file:path / lib / jaxb-xjc.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber:52; columnNumber:88; schema_reference:无法读取模式文档“xjc.xsd”,因为由于accessExternalSchema属性设置的限制,不允许“文件”访问。
所以,我研究了这个,并从this question提出了我需要为JVM指定命令行参数的想法,所以我在build.xml
文件中的适当位置添加了一个:
<arg value="-Djavax.xml.accessExternalSchema=all" />
现在,我得到了一个不同的错误,显然是由于这个添加造成的:
build.xml:96:无法识别的参数-Djavax.xml.accessExternalSchema = all
如何解决初始错误,以便我的构建不会因此问题而失败?
创建一个名为jaxp.properties
的文件,其中包含以下内容javax.xml.accessExternalSchema=all
。
将此文件放在Java目录的jre/lib
文件夹中。