Я получаю эту ошибку при запуске grails run-app
:
Ошибка при выполнении начальной загрузки: Ошибка при создании bean-компонента с именем 'messageSource': инициализация bean-компонента завершилась неудачно; вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем «transactionManager»: не удается разрешить ссылку на bean-компонент «sessionFactory» при установке свойства bean-компонента «sessionFactory»; вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем 'sessionFactory': не удается разрешить ссылку на bean-компонент 'hibernateProperties' при установке свойства bean-компонента 'hibernateProperties'; вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем 'hibernateProperties': не удается разрешить ссылку на bean-компонент 'dialectDetector' при установке свойства bean-компонента с помощью ключа [hibernate.dialect]; вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'dialectDetector': не удалось вызвать метод инициализации; вложенное исключение - org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: не удалось определить диалект гибернации для имени базы данных [H2]!
Согласно DataSource.groovy:
dataSource {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = ""
// Adding this causes a different error:
// dialect = org.hibernate.dialect.H2Dialect
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:h2:mem:devDB"
}
}
test { // test-related stuff }
production { // prod-related stuff }
}
Когда я явно указываю диалект, как указано выше (org.hibernate.dialect.H2Dialect
), возникает следующая ошибка:
Ошибка при выполнении начальной загрузки: Ошибка при создании bean-компонента с именем 'messageSource': инициализация bean-компонента завершилась неудачно; вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем «transactionManager»: не удается разрешить ссылку на bean-компонент «sessionFactory» при установке свойства bean-компонента «sessionFactory»; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем 'sessionFactory': вызов метода инициализации завершился неудачно; вложенное исключение - java.lang.IncompatibleClassChangeError: найден класс org.hibernate.cfg.Mappings, но ожидался интерфейс
Кто-нибудь знает, как с этим справиться?
(Отчет об ошибке существует как http://jira.grails.org/browse/GRAILS-7994 а>)