【问题标题】:BeanCreationException in grails deployment on linux envlinux env 上 grails 部署中的 BeanCreationException
【发布时间】:2014-01-22 15:33:49
【问题描述】:

我正在尝试在 tomcat6 上部署使用 grails 创建的战争文件。相同的战争文件在我的 Windows 机器上工作正常,它确实给我以下 prod linux 环境的异常

SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: 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 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

和

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)

我已经经历过了 How do I fix the org.springframework.beans.factory.BeanCreationException error in my Grails application?

和

Grails transactionManager exception on Run

但死也无济于事

【问题讨论】:

    标签: mysql linux tomcat grails


    【解决方案1】:

    滚动到显示Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 的末尾。 Grails 的例外情况通常是顶级文本是通用的且无用的,而真正的原因在靠近底部的更下方。

    我猜你将 MySQL 驱动程序 jar 放在 lib 目录中,但 Grails 没有在那里找到它。你不应该使用 jars,除非它们在在线 repo 中不可用,而且 MySQL 驱动程序肯定是可用的。事实上,它是 dependencies 块中 BuildConfig.groovy 中的示例条目。取消注释,可选择更新到最新版本 (5.1.28),然后重新部署您的 war 文件。确保它在文件中,在 WEB-INF/lib 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-08
      • 2011-02-12
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 2010-11-02
      • 1970-01-01
      相关资源
      最近更新 更多