从grails 1.3.7升级到2.0后执行bootstraps时出错

时间:2012-02-07 12:54:21

标签: grails grails-2.0

将grails应用程序从1.3.7升级到2.0时,抛出java NullPointerException(完整错误如下)。

我正在使用debian squeeze和java版本的OpenJDK“1.6.0_18”,虽然已尝试过预先打包的debian sun-jdk。

我试图在没有运气的情况下卸载所有插件;调试模式也没有给我一个线索。我还在开发环境中检查了我的数据源:

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = org.hibernate.dialect.MySQLInnoDBDialect
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {

        dbCreate = "create-drop" // one of 'create', 'create-drop','update'
    //url = "jdbc:hsqldb:mem:devDB"  //hsql
        url = "jdbc:mysql://server.domain/database" //mysql
        username = "user"
        password = "password"

    }
}

根本没有运气......任何想法?我查了相关的帖子,但在这里找不到同样的问题...

提前致谢

Error 2012-02-07 13:24:15,024 [Thread-11] ERROR context.GrailsContextLoader  - Error         executing bootstraps: 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': Invocation of init method failed; nested exception is     java.lang.NullPointerException
Message: 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': Invocation of init method failed; nested exception is     java.lang.NullPointerException
    Line | Method
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by 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': Invocation of init method failed; nested exception is     java.lang.NullPointerException
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by BeanCreationException: Error creating bean with name 'sessionFactory':     Invocation of init method failed; nested exception is java.lang.NullPointerException
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

Caused by NullPointerException: null
->>  334 | innerRun  in java.util.concurrent.FutureTask$Sync
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    166 | run       in java.util.concurrent.FutureTask
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    636 | run . . . in java.lang.Thread

3 个答案:

答案 0 :(得分:2)

仅仅为了解决这个问题,它与acegi-plugin的spring-security-plugin升级有关。我使用spring-security-plugin默认类和属性,一切正常。

答案 1 :(得分:0)

检查您的BuildConfig.groovy 确保已启用相应的JDBC库,例如在以下行中编写:

  

依赖{        runtime'mysql:mysql-connector-java:5.1.16'       }

或者如果您更喜欢在不依赖Grails加载库机制的情况下添加库,只需将jar放到项目的/ lib文件夹中

答案 2 :(得分:0)

通过在.groovy域类中使用Java关键字protected,我收到了类似的错误。我刚刚删除了protected关键字,它运行正常。我想如果我将文件重命名为.java,它也可以正常工作。