我有一个蚂蚁build.xml
文件,其中包含xjc目标。
显然,构建过程适用于Ant 1.7.1,但是任何较新版本都会导致构建失败。我正在使用以下内容:
错误消息的确切文本是:
build.xml:96:java.lang.AssertionError:org.xml.sax.SAXParseException; systemId:jar:文件:路径 /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
如何解决初始错误,以使我的构建不会因该问题而失败?
答案 0 :(得分:1)
创建一个名为jaxp.properties
的文件,其中包含以下内容javax.xml.accessExternalSchema=all
。
将此文件放置在Java目录的jre/lib
文件夹中。