Grails(v2.2)应用程序通过run-app启动,但在tomcat 7上部署战争时死亡

时间:2013-03-08 04:31:24

标签: hibernate tomcat grails

我有一个grails 2.2应用程序运行正常,当我从svn进行干净的结账并做grails run-app。 (我已经吹走了我的.grails / 2.2.0和.grails / ivy-cache目录并重新下载了依赖项)

然而,当我创建战争(grails war)并将其部署在tomcat7中时,它会因以下错误而死亡:

  

2013-03-08 04:12:17,096 [pool-2-thread-1]错误StackTrace - 完整堆栈跟踪:   org.springframework.beans.factory.BeanCreationException:创建名为'transactionManagerPostProcessor'的bean时出错:bean的初始化失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'transactionManager'的bean时出错:在设置bean属性'sessionFactory'时无法解析对bean'sessionFactory'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'sessionFactory'的bean时出错:init方法的调用失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration]:构造函数抛出异常;嵌套异常是java.lang.NoSuchFieldError:INSTANCE       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)

我有以下插件:

  • drools-gorm v0.5.6
  • joda-time v1.4
  • mail v1.0.1

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

transactionManagerPostProcessor bean的初始化问题通常是dataSource的问题。

正在运行grails run-app使用development环境。默认情况下,运行grails war使用production环境,因此问题可能是生产dataSource配置。如果要构建使用开发模式设置的warfile,请运行grails -Dgrails.env=development war