2013-07-20 34 views
15

我想在我的笔记本上运行grails,我已经安装了jdk 1.8.0和jre8,我已经正确设置了JAVA_HOME和GRAILS_HOME。当我在命令提示符下键入%JAVA_HOME%或%GRAILS_HOME%时,它显示正确的路径。但是,当我尝试运行任何Grails的命令,我收到以下错误: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

这是在你创建任何项目之前? – Alidad

+0

是的,在设置环境变量之后。 –

+0

你的java家正在指向哪里?确保JAVA_HOME指向一个jdk,而不仅仅是一个jvm – Alidad

回答

22

我正在使用java8,我尝试使用java7,它工作正常!显然,Grails的不java8工作

+3

也只是一个侧面说明。 JAVA_HOME也需要正确设置。 Gentoo允许我设置用户虚拟机,但不会随着时间的推移正确更改JAVA_HOME。仔细检查你的JAVA_HOME – chrislovecnm

+0

使用Grails 2.2.3和JDK 8有同样的问题。使用JDK7运行良好 –

1

的Grails 2.4工程与JDK - 8 Grails的2.1.1工程与JDK - 7

0

切换到Grails的2.5.0对jdk8u40 +运行。另外,如果您正在使用IDE GGTS,请确保它是v3.6.4,并且您从扩展页面安装Groovy 2.4以获取路演中的节目。

0

对于我的情况,我重新同步了JDK主页链接。这几天我使用了很多java版本。

安装侵入式jdk1.8.0_51后。 /Library/Java/Home被覆盖(可能在大多数情况下是打算的)。如果你只是想玩jdk1.8并且主要在其他版本下工作,你应该链接这个地方

-1

现在Grails 3+版本支持java8,并且有很多新功能,并且集成了spring启动。所以你可以用grails 3+版本更新你的项目。但是你需要改变你的应用程序体系结构导致Spring引导和Gradle构建系统。