从 Maven 迁移到 Gradle 导致意外异常

Migration from Maven to Gradle Causes Unexpected Exception

将 java 中完成的 TestNG 项目从 maven .pom 文件移动到 gradle build.gradle。我能够使大部分内容正常工作,但是 运行 测试时出现错误。

 org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [ApplicationBeans.xml]; nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

我在测试框架代码中使用了spring框架。

使用以下 gradle 文件:

apply plugin: 'java'
dependencies {
  compile project(':qa_common')
    testCompile(group: 'org.uncommons', name: 'reportng', version:'1.1.4') {
        exclude(module: 'testng')
    }
    testCompile group: 'com.google.inject', name: 'guice', version:'3.0'
    compile group: 'xml-apis', name: 'xml-apis', version:'1.4.01'

}

task testDiscounts(type: Test) {
    useTestNG() {
        suites 'src/test/resources/testsuites/env_qa/TestSuite.xml'
    }

}

task packageTests(type: Jar) {
  from sourceSets.test.output
  classifier = 'tests'
}
artifacts.archives packageTests

谁能告诉我哪里出错了?

我想知道以下内容是否相关:SO article .

强制再次下载工件并详细查看它是否实际获得版本 1.4.01 或是否将其重定向到其他版本可能会很有趣。