导入Ant构建脚本时获取xerces类的ClassCastException

时间:2014-07-02 17:53:41

标签: java ant gradle

(我刚在Gradle论坛上问过这个问题,但我得出结论认为SO效果更好。)

我正在修改现有的Gradle构建脚本。它目前正试图执行" ant"为了从特定的Ant构建脚本运行目标。这似乎是特定于平台的,并且在我的Windows框中失败。我试图将其转换为导入构建脚本并执行所需转换任务的更便携(?)过程。

我做的第一件事就是添加" ant.importBuild"声明就在现有目标之前,然后运行它。这失败的原因如下:

Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
    at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
    at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
    at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:215)
    at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:172)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:244)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:177)
    at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93)
    at org.apache.tools.ant.ProjectHelper$configureProject.call(Unknown Source)
    at org.gradle.api.internal.project.DefaultAntBuilder.importBuild(DefaultAntBuilder.groovy:76)

从网上相关的情况来看,很明显存在类别冲突(并没有告诉我任何不明显的事情),但我不会&#39 ;我知道如何解决这个问题。

有问题的构建脚本来自Mockito代码库(https://github.com/mockito/mockito),因此您可以在那里看到它们。我只添加了&#34; ant.importBuild&#39; build-ant.xml&#39;&#34;就在执行Ant目标的地方之前。

1 个答案:

答案 0 :(得分:0)

我遇到了与xerces类似的问题,之前由于更新版本而导致xerces被自动使用,因为默认情况下gradle使用较新版本。

我建议您使用gradle的依赖项任务来检查