Grails 2.3.5, требующий "очистки граалей" после каждого изменения кода

Каждый раз, когда я изменяю свой код, мне нужно запустить grails clean перед запуском grails run-app, Если я этого не сделаю, я получаю такие сообщения:

| Error 2014-02-13 16:33:16,774 [localhost-startStop-1] ERROR context.GrailsContextLoader  - Error initializing the application: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Cannot resolve reference to bean 'dataSourceUnproxied' while setting bean property 'targetDataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceUnproxied': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.OracleDriver]
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Cannot resolve reference to bean 'dataSourceUnproxied' while setting bean property 'targetDataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceUnproxied': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.OracleDriver]
    Line | Method
->>  262 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    744 | run       in java.lang.Thread

Это действительно странно, потому что кажется, что Grails не может загрузить драйвер базы данных Oracle... но он загружается нормально, если я запускаю

grails clean
grails run-app

Это приложение, над которым я работаю, было обновлено сегодня с Grails 2.2.4. Апгрейд был безразличным (до этого). Все, что мне нужно было сделать, это изменить версии Hibernate и Tomcat, а затем запустить grails upgrade; grails clean

Любые идеи, как я могу получить его, чтобы я мог изменить код и просто перезапустить с помощью grails run-app или лучше... заставить работать функцию перезагрузки, поэтому, когда я делаю изменения в коде, он автоматически компилирует только что сохраненный файл (это отлично работает в Grails 2.2.4).

1 ответ

Решение

Ты пытался grails -reloading run-app?

Поскольку вы упомянули, что вы изменили только версии плагинов во время обновления, я предполагаю, что вы не используете раздвоенный режим, когда перезагрузка включена по умолчанию.

Посмотрите на Forked Execution и перезагружающий агент. Также обратите внимание, что grails upgrade команда устарела в 2.3.*.

Другие вопросы по тегам