2013-04-29 97 views
1

我有一個在命令行中完美運行的grails項目。當我嘗試在GGTS中運行它時,無法運行Grails項目GGTS

grails run-app 

它在第一次運行時沒有任何錯誤。然後,我停止了服務器,並使用grails run-app再次運行它。現在發生以下錯誤。

| Error 2013-04-29 15:32:14,965 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: Error creating bean with name 'annotationHandlerMapping': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JacksonAnnotation 
Message: Error creating bean with name 'annotationHandlerMapping': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JacksonAnnotation 
Line | Method 
->> 334 | innerRun in java.util.concurrent.FutureTask$Sync 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 166 | run  in java.util.concurrent.FutureTask 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run  in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 722 | run . . . in java.lang.Thread 
Caused by NoClassDefFoundError: org/codehaus/jackson/annotate/JacksonAnnotation 
->> 3098 | initAnnotationsIfNecessary in java.lang.Class 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 3057 | getAnnotation in  '' 
| 3070 | isAnnotationPresent in  '' 
| 334 | innerRun in java.util.concurrent.FutureTask$Sync 
| 166 | run . . . in java.util.concurrent.FutureTask 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 722 | run  in java.lang.Thread 
Caused by ClassNotFoundException: org.codehaus.jackson.annotate.JacksonAnnotation 
->> 175 | findClass in org.codehaus.groovy.tools.RootLoader 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 423 | loadClass in java.lang.ClassLoader 
| 147 | loadClass in org.codehaus.groovy.tools.RootLoader 
| 356 | loadClass in java.lang.ClassLoader 
| 3098 | initAnnotationsIfNecessary in java.lang.Class 
| 3057 | getAnnotation in  '' 
| 3070 | isAnnotationPresent in  '' 
| 334 | innerRun in java.util.concurrent.FutureTask$Sync 
| 166 | run . . . in java.util.concurrent.FutureTask 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 722 | run  in java.lang.Thread 

我還嘗試刪除.grails/2.2.1/projects/MyProject目錄並更新了依賴關係。刷新依賴關係正常,但run-app在GGTS中不起作用。 我該怎麼辦?

+0

對於Grails 2.2.1,如果我沒有弄錯,你需要最新的GGTS 3.2。這是你的版本嗎? – 2013-04-29 14:09:12

+0

是的,我現在正在使用GGTS 3.3M1和Grails 2.2.2。它的工作原理,但是當你刪除.grails/2.2.2/MyProject它也給出了上面的錯誤。我該怎麼辦? – confile 2013-04-29 14:43:55

+0

爲什麼要刪除.grails文件夾?運行grails是否可以編譯工作? – 2013-04-30 04:41:25

回答

1

像往常一樣,嘗試按以下順序以下

grails clean 
grails refresh-dependencies 
grails run-app 

如果仍然無法正常工作,您可能需要刪除您.grails/2.2.2 /項目/ *,重複上述提到的步驟。

2

事實證明,問題是由Java 7版本引起的。不要用戶更新21,那麼錯誤將會消失。

+0

使用Java7更新17 – confile 2013-06-07 14:59:17

+0

不起作用,目前使用jdk1.7.0_17.jdk並且它仍然發生 – Badmiral 2013-08-15 12:30:12

+0

嘗試刪除.grails/version/project/yourprojectfolder然後grails grefresh -dependencies – confile 2013-08-15 12:46:53