2

我是 Grails (2.4.1) 的新手。我正在尝试使用 joda time (1.5)。当我将下面的脚本放到我的 Config.groovy 中时,会发生错误。

grails.gorm.default.mapping = {
    "user-type" type: org.jadira.usertype.dateandtime.joda.PersistentDateTime, class: org.joda.time.DateTime
    "user-type" type: org.jadira.usertype.dateandtime.joda.PersistentLocalDate, class: org.joda.time.LocalDate
    // … define as many other user type mappings as you need
}

错误:错误 | 2014-07-12 23:45:31,632 [localhost-startStop-1] 错误 context.GrailsContextLoaderListener - 初始化应用程序时出错:创建名为“transactionManagerPostProcessor”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的 bean 时出错:设置 bean 属性“sessionFactory”时无法解析对 bean“sessionFactory”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: org/hibernate/engine/SessionImplementor 消息:创建名为 ' 的 bean 时出错 transactionManagerPostProcessor':bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的 bean 时出错:设置 bean 属性“sessionFactory”时无法解析对 bean“sessionFactory”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: org/hibernate/engine/SessionImplementor 同时设置bean属性'sessionFactory';嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: org/hibernate/engine/SessionImplementor 同时设置bean属性'sessionFactory';嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: org/hibernate/engine/SessionImplementor

等等

4

1 回答 1

4

我通过升级插件使用的 Jadira Usertype 库依赖项修复了相同的错误。

Joda Time 插件推荐“org.jadira.usertype:usertype.jodatime:1.9”,它仅适用于 Hibernate 3。使用 Hibernate 4 时尝试切换到“org.jadira.usertype:usertype.core:3.2.0.GA” .

于 2014-09-09T14:41:45.910 回答