如何使用Ant解决架构解析异常?

时间:2018-08-13 15:13:28

标签: java ant xjc

我有一个蚂蚁build.xml文件,其中包含xjc目标。

显然,构建过程适用于Ant 1.7.1,但是任何较新版本都会导致构建失败。我正在使用以下内容:

  • ANT 1.9.7
  • Java JDK 1.8.0_171

错误消息的确切文本是:

  

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

如何解决初始错误,以使我的构建不会因该问题而失败?

1 个答案:

答案 0 :(得分:1)

创建一个名为jaxp.properties的文件,其中包含以下内容javax.xml.accessExternalSchema=all

将此文件放置在Java目录的jre/lib文件夹中。

相关问题