我需要为Grails设置一个Windows工作环境。我想使用GGTS作为IDE,但在编译示例项目时遇到了几个错误。目前我使用的是jdk1.8.0_40和Grails 2.5.0。这导致了这个错误(但最终项目正在运行):
Groovy:Unexpected problem with AST transform: The Spock compiler
plugin cannot execute because Spock 1.0.0-groovy-2.4 is not compatible
with Groovy 2.3.10. For more information, see http://versioninfo.spockframework.org
除此之外,还有两个Java异常断点,它们被列为"未知"。我能找到的关于版本支持的唯一信息是:
Java SDK 1.5+ for Grails 1.2 or greater
GGTS本身似乎没有使用最新的grails(3.0.1)运行,因为我根本无法添加它(目录似乎不是grails安装)。
我应该使用Java 7吗?
此问题与JDK 1.8或1.7无关,但与GGTS IDE 3.6.4 Groovy编译器版本有关。由于错误说明Spock 1.0.0版本需要Groovy2.4编译器。
GGTS 3.6.4.RELEASE-e4.4.2 IDE默认带有Groovy 2.3.10编译器。
安装Groovy编译器2.4特性并"切换到2.4"将解决此问题。参考:http://docs.codehaus.org/display/GROOVY/Compiler+切换+in-+Groovy Eclipse
如果您无法从IDE Groovy编译器首选项页面切换编译器,请按照说明从Eclipse外部执行切换:
(Grails 2.5.0使用Spock 1.0.0(以及内部的Groovy 2.4.3,这就是为什么您的项目在Grails运行时环境接管时编译和运行良好)
作为上述答案的附加经验报告,从而提供了另一个解决方案变体:http://dist.springsource.org/snapshot/GRECLIPSE/e4.4更新站点(与上面链接中提到的发布版本相反),以使2.4编译器功能在更新管理器中可用。安装后,编译器错误就消失了。
我注意到,在新的grails项目中,在groovy编译器首选项页面中设置了特定于项目的groovy编译器。通过选择"我不在乎"作为"Groovy编译器",它将默认为工作区Groovy编译程序,这通常是正确的(对我来说是2.4版)。这对我来说很有效,但经验可能会有所不同。