我试图将现有的Grails 2.2插件移植到Grails 3.0。因此,我宁愿避免重写使用MockFor
使用grails create-plugin
创建了一个新的3.0.10插件,并将源文件复制到相应的新位置,当我运行grails test-app
时,我得到:
{path}/FooControllerTests.groovy: 4: unable to resolve class groovy.mock.interceptor.MockFor
@ line 4, column 1.
import groovy.mock.interceptor.MockFor
^
我还没有对build.gradle
做任何事情。
$ grails --version
| Grails Version: 3.0.10
| Groovy Version: 2.4.5
| JVM Version: 1.7.0_91
... Groovy 2.4.5 API文档显示groovy.mock.interceptor.MockFor
应该出现:http://docs.groovy-lang.org/2.4.5/html/gapi/index.html?groovy/mock/interceptor/MockFor
我错过了什么?
编辑:
修改gradle.properties并将grailsVersion
更改为3.0.9
似乎有效(无论我是否告诉SDK使用3.0.9或3.0.10)。
答案 0 :(得分:0)
我有类似的问题。一个插件正在推出旧版本的Groovy(2.3.X)。我必须找到它并排除该插件所需的常规。
我的 build.gradle 文件现在有:
compile("org.gebish:geb-junit4:0.10.0") {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
我通过 gradle dependencies 命令找到了这个。我查找了 groovy-all 条目,发现该插件强制使用较旧版本的groovy。