linux env中grails部署中的BeanCreationException

时间:2014-01-22 15:33:49

标签: mysql linux tomcat grails

我正在尝试在tomcat6上部署使用grails创建的war文件。相同的war文件在我的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

但它没有帮助

1 个答案:

答案 0 :(得分:1)

滚动到结尾显示Cannot load JDBC driver class 'com.mysql.jdbc.Driver'的位置。通常情况下,Grails例外情况是顶级文本是通用且无用的,真正的原因是在底部附近进一步下降。

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