我正在尝试在笔记本电脑上运行grails,我已经安装了jdk 1.8.0和jre8,我已经正确设置了JAVA_HOME和GRAILS_HOME。当我在命令提示符下键入%JAVA_HOME%或%GRAILS_HOME%时,它会显示正确的路径。但是当我尝试运行任何grails命令时,我收到以下错误:
| Loading Grails 2.1.1
| Error java.lang.reflect.InvocationTargetException
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| Error at java.lang.reflect.Method.invoke(Method.java:491)
| Error at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
| Error at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| Error at java.lang.reflect.Method.invoke(Method.java:491)
| Error at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
| Error at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
| Error Caused by: java.lang.NullPointerException: Cannot invoke method getAt() on null object
| Error at grails.util.BuildSettings.configureDependencyManager(BuildSettings.groovy:1208)
| Error at grails.util.BuildSettings$configureDependencyManager.callCurrent(Unknown Source)
| Error at grails.util.BuildSettings.postLoadConfig(BuildSettings.groovy:1121)
| Error at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1003)
| Error at grails.util.BuildSettings$loadConfig.callCurrent(Unknown Source)
| Error at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:978)
我的笔记本电脑有Windows 8。 任何有关这方面的帮助将不胜感激。
答案 0 :(得分:24)
我使用的是java8,我尝试使用java7,它工作正常!显然grails不适用于java8
答案 1 :(得分:3)
grails 2.4适用于jdk - 8. grails 2.1.1适用于jdk - 7.
答案 2 :(得分:0)
切换到Grails 2.5.0以在jdk8u40 +上运行。
此外,如果您正在使用IDE GGTS,请确保它是v3.6.4,并且您从扩展页面安装Groovy 2.4以获得该节目。
答案 3 :(得分:0)
对于我的情况,我重新同步了JDK主页链接。这些天我使用了很多java版本。
安装后的侵入式jdk1.8.0_51。 /Library/Java/Home
被覆盖(可能在大多数情况下是预期的)。如果你只是想玩jdk1.8并主要在其他版本下工作,你应该把这个地方链接回去
答案 4 :(得分:-1)
现在Grails 3+版本支持java8,并且有许多新构建系统和集成弹簧启动功能。因此,您可以使用grails 3+版本更新项目。但是您需要更改弹簧引导和gradle构建系统的应用程序体系结构。