2013-07-20 126 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構建系統。