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.*.