Получение неизвестной ошибки при запуске приложения Grails 2.1.1 с использованием grials run-app
Я получаю сообщение об ошибке Hibernate из-за невозможности создать требуемый компонент при запуске приложения Grails 2.1.1 с помощью команды grails run-app.
Трассировка стека ошибки приведена ниже:
Загрузка Грааля 2.1.1 | Настройка пути к классам. | Окружающая среда настроена на развитие..... | Применение упаковки Grails.... | Компиляция 1 исходных файлов | Компиляция 1 исходных файлов..... | Запуск приложения Grails Настройка Spring Security UI ... ... завершена настройка Spring Security UI Настройка Spring Security Core ... ... завершена настройка Spring Security Core Настройка Spring Security ACL ... ... завершена настройка Spring Security ACL Настройка Spring Безопасность Twitter ... ... завершила настройку Spring Security Twitter
| Ошибка 2013-08-30 16:24:31,120 [localhost-startStop-1] ERROR context.GrailsContextLoader - Ошибка при запуске начальной загрузки: Ошибка при создании компонента с именем "actionManagerPostProcessor': Ошибка инициализации компонента; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем'actionManager': невозможно разрешить ссылку на компонент'sessionFactory'при установке свойства компонента'sessionFactory'; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'sessionFactory': невозможно разрешить ссылку на компонент 'hibernateProperties' при установке свойства компонента 'hibernateProperties'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'hibernateProperties': невозможно разрешить ссылку на компонент 'dialectDetector' при установке свойства свойства '' с помощью ключа [hibernate.dialect]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'dialectDetector': сбой вызова метода init; вложенным исключением является org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: не удалось определить диалект Hibernate для имени базы данных [H2]!
Сообщение: Ошибка создания бина с именем actionManagerPostProcessor: не удалось инициализировать бин; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем'actionManager': невозможно разрешить ссылку на компонент'sessionFactory'при установке свойства компонента'sessionFactory'; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'sessionFactory': невозможно разрешить ссылку на компонент 'hibernateProperties' при установке свойства компонента 'hibernateProperties'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'hibernateProperties': невозможно разрешить ссылку на компонент 'dialectDetector' при установке свойства свойства '' с помощью ключа [hibernate.dialect]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'dialectDetector': сбой вызова метода init; вложенным исключением является org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: не удалось определить диалект Hibernate для имени базы данных [H2]! Линия | Метод ->> 334 | innerRun в java.util.concurrent.FutureTask$Sync - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 166 | запустить в java.util.concurrent.FutureTask | 1145 | runWorker в java.util.concurrent.ThreadPoolExecutor | 615 | запустить в java.util.concurrent.ThreadPoolExecutor$Worker ^ 724 | запустить.,, в java.lang.Thread, вызванный BeanCreationException: Ошибка создания bean-компонента с именем "actionManager ": невозможно разрешить ссылку на bean-компонент" sessionFactory "при установке свойства бина" sessionFactory "; вложенное исключение: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'sessionFactory': невозможно разрешить ссылку на компонент 'hibernateProperties' при установке свойства компонента 'hibernateProperties'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'hibernateProperties': невозможно разрешить ссылку на компонент 'dialectDetector' при установке свойства свойства '' с помощью ключа [hibernate.dialect]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'dialectDetector': сбой вызова метода init; вложенным исключением является org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: не удалось определить диалект Hibernate для имени базы данных [H2]!
->> 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 ^ 724 | run . . . in java.lang.Thread
Вызвано BeanCreationException: Ошибка создания компонента с именем 'sessionFactory': невозможно разрешить ссылку на компонент 'hibernateProperties' при установке свойства компонента 'hibernateProperties'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'hibernateProperties': невозможно разрешить ссылку на компонент 'dialectDetector' при установке свойства свойства '' с помощью ключа [hibernate.dialect]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'dialectDetector': сбой вызова метода init; вложенным исключением является org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: не удалось определить диалект Hibernate для имени базы данных [H2]!
Настройки моего DataBaseConfig.groovy следующие:
dataSource {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = ""
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
Ранний ответ действительно приветствуется.
Спасибо
1 ответ
Испытали те же проблемы.
Эта проблема, похоже, связана с версией Grails, которую вы используете. для версий jdk 1.7.025> на Grails ниже версии 2.2.3 это, кажется, появляется.
Мы перешли на более низкую версию JDK, и проблемы не появились.