Не удалось запустить проект 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. Что я должен делать?


person confile    schedule 29.04.2013    source источник
comment
Для Grails 2.2.1 вам понадобится последняя версия GGTS, 3.2, если я не ошибаюсь. Это ваша версия?   -  person    schedule 29.04.2013
comment
да, сейчас я использую GGTS 3.3M1 с Grails 2.2.2. Он работает, но когда вы удаляете .grails/2.2.2/MyProject, он также выдает указанную выше ошибку. Что я должен делать?   -  person confile    schedule 29.04.2013
comment
Почему вы удаляете папку .grails? Работает ли работающая компиляция Grails?   -  person Andrew Eisenberg    schedule 30.04.2013
comment
Я удалил папку из-за конфликтов. Компиляция Rrun не работает.   -  person confile    schedule 30.04.2013


Ответы (2)


Как обычно, попробуйте следующее в этом порядке

grails clean
grails refresh-dependencies
grails run-app

Если это по-прежнему не работает, вы можете удалить свой .grails/2.2.2/projects/* и повторить описанные выше шаги.

person John Doe    schedule 05.05.2013

Оказывается, проблема вызвана версией Java 7. Не используйте обновление 21, тогда ошибка исчезнет.

person confile    schedule 05.05.2013
comment
не работает, в настоящее время используется jdk1.7.0_17.jdk, и это все еще происходит - person Badmiral; 15.08.2013
comment
попробуйте удалить .grails/version/project/yourprojectfolder, затем Grails grefresh-dependencies - person confile; 15.08.2013
comment
Да, обходной путь работает нормально, но пытается найти рабочее решение. - person Badmiral; 15.08.2013