如何使用Ant解决模式解析异常?

问题描述 投票:0回答:1

我有一个包含xjc目标的ant build.xml文件。

显然,构建过程适用于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: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

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

java ant xjc
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.