1

我已经在 Grails 1.3.8 应用程序上安装了 Spock。运行测试应用程序后失败。它似乎与我的其他插件有一些冲突,但我无法弄清楚。我安装了 20 多个插件。

错误是:

     org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
     Could not instantiate global transform class  
     org.spockframework.compiler.SpockTransform specified at jar:file:
     /C:/Documents%20and%20Settings/xxxxxxx/.ivy2/cache/org.spock
     framework/spock-core/jars/spock-core-0.6-groovy-1.8.jar!/META-INF/services  
     /org.codehaus.groovy.transform.ASTTransformation  because of exception 
     org.spockframework.util.IncompatibleGroovyVersionException: The Spock 
     compiler plugin cannot execute because Spock 0.6.0-groovy-1.8 is not compatible  
     with Groovy 1.7.8. For  more information,see http://versioninfo.spockframework.org
     Spock location: file:/C:/Documents%20and%20Settings/xxxxxx/.ivy2/cache
     /org.spockframework
     /spock-core/jars/spock-core-0.6-groovy-1.8.jar
     Groovy location: file:/C:/dev/Grails/grails-1.3.8/lib/groovy-all-1.7.8.jar

这是我的构建配置:

dependencies {
    test "org.spockframework:spock-grails-support:0.6-groovy-1.7"
}
plugins {
    compile ":joda-time:1.4"
    compile ":excel-import:0.9.6"
    compile ":export:1.3"

    test(":spock:0.6") {
      exclude "spock-grails-support"
  }
}

如果我不安装任何插件,我可以毫无问题地运行 spock 测试。我不确定其中一个插件是否有特定的东西,或者关于 Spock 的东西,甚至是我做错了什么。

附加信息:我发现出于某种原因,一个/多个插件阻止 Grails 下载

spock-grails-support:0.6-groovy-1.7

使用我的插件,Grails 只下载 spock-grails-support:0.6-groovy-1.8 而不是 1.3.8 所需的 1.7。所以现在我不确定是什么阻止了 Grails 下载依赖项。

感谢您的任何建议

4

1 回答 1

1

似乎 Joda-time 插件依赖于 Spock,尽管它在插件中将导出设置为 false,它迫使 Grails 在我的应用程序中下载 spock-grails-support:0.6-groovy-1.8。我有它来排除spock,到目前为止它似乎工作。

compile (":joda-time:1.4") { exclude "spock" } 
于 2013-04-11T02:49:30.687 回答