我可以 运行 带有 Java 8 的 Grails 2.2.5 应用程序吗?

Can I run a Grails 2.2.5 application with Java 8?

我一直在尝试 运行 Grails 2.2.5 应用程序,它在 Tomcat 6 和 Java 7 上运行良好,在 Tomcat 8 安装上运行良好Java 8(特别是'1.8.0_181'),并且一直有启动错误。我似乎记得一些兼容性问题,但我找不到任何关于 Grails 2.2.x 和 Java 8 的信息。有问题的错误消息是:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object

不行,Groovy是这里的限制。 Groovy 与 Java 8 一起使用的第一个版本是 2.3,而 Grails 2.4 是第一个使用 Groovy 2.3+ 的版本。由于您无法更改 Grails 使用的 Groovy 版本,因此您需要坚持使用 Java 7(不是很好)或升级(更好)。