簡體   English   中英

使用grials run-app運行Grails 2.1.1應用程序時出現未知錯誤

[英]Getting unknown error while running an Grails 2.1.1 application using grials run-app

我在使用grails run-app命令運行Grails 2.1.1應用程序時收到無法創建所需bean的Hibernate錯誤。

錯誤的堆棧跟蹤如下所示:

加載Grails 2.1.1 | 配置類路徑。 | 環境准備發展。 包裝谷物應用程序。 編譯1個源文件| 正在編譯1個源文件。 運行Grails應用程序配置Spring Security UI ... ...完成配置Spring Security UI配置Spring Security Core ... ...完成配置Spring Security Core配置Spring Security ACL ... ...完成配置Spring Security ACL配置Spring安全性Twitter……完成了Spring Security Twitter的配置

| 錯誤2013-08-30 16:24:31,120 [localhost-startStop-1]錯誤context.GrailsContextLoader-執行引導程序時出錯:創建名稱為'transactionManagerPostProcessor'的bean時出錯:bean的初始化失敗; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'transactionManager'的bean時出錯:在設置bean屬性'sessionFactory'時無法解析對bean'sessionFactory'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'sessionFactory'的bean時出錯:在設置bean屬性'hibernateProperties'時無法解析對bean'hibernateProperties'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'hibernateProperties'的bean時出錯:用鍵[hibernate.dialect]設置bean屬性'properties'時無法解析對bean'dialectDetector'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'dialectDetector'的bean時出錯:調用init方法失敗; 嵌套的異常是org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: 無法確定數據庫名稱[H2]的Hibernate方言!

消息:創建名稱為'transactionManagerPostProcessor'的bean時出錯:初始化bean失敗; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'transactionManager'的bean時出錯:在設置bean屬性'sessionFactory'時無法解析對bean'sessionFactory'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'sessionFactory'的bean時出錯:在設置bean屬性'hibernateProperties'時無法解析對bean'hibernateProperties'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'hibernateProperties'的bean時出錯:用鍵[hibernate.dialect]設置bean屬性'properties'時無法解析對bean'dialectDetector'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'dialectDetector'的bean時出錯: 調用init方法失敗; 嵌套的異常是org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException:無法確定數據庫名稱[H2]的Hibernate方言! 線| 方法->> 334 | 在java.util.concurrent.FutureTask $ Sync中的innerRun------------------------------------ 166 | 在java.util.concurrent.FutureTask中運行 1145 | java.util.concurrent.ThreadPoolExecutor中的runWorker | 615 | 運行在java.util.concurrent.ThreadPoolExecutor $ Worker ^ 724 | 跑 。 由BeanCreationException引起的java.lang.Thread中:創建名稱為'transactionManager'的bean時出錯:設置bean屬性'sessionFactory'時無法解析對bean'sessionFactory'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'sessionFactory'的bean時出錯:在設置bean屬性'hibernateProperties'時無法解析對bean'hibernateProperties'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'hibernateProperties'的bean時出錯:用鍵[hibernate.dialect]設置bean屬性'properties'時無法解析對bean'dialectDetector'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'dialectDetector'的bean時出錯:調用init方法失敗; 嵌套的異常是org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException:無法確定數據庫名稱[H2]的Hibernate方言!

 ->> 334 | innerRun in java.util.concurrent.FutureTask$Sync - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 166 | run in java.util.concurrent.FutureTask | 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor | 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker ^ 724 | run . . . in java.lang.Thread 

由BeanCreationException引起:創建名稱為'sessionFactory'的bean時出錯:在設置bean屬性'hibernateProperties'時無法解析對bean'hibernateProperties'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'hibernateProperties'的bean時出錯:用鍵[hibernate.dialect]設置bean屬性'properties'時無法解析對bean'dialectDetector'的引用; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'dialectDetector'的bean時出錯:調用init方法失敗; 嵌套的異常是org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException:無法確定數據庫名稱[H2]的Hibernate方言!

我的DataBaseConfig .groovy的設置如下:

  dataSource {
  pooled = true
  driverClassName = "org.h2.Driver"
  username = "sa"
  password = ""
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}

    // environment specific settings
  environments {

development {
    dataSource {
        dbCreate = "update"
        url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
    }
}
test {
    dataSource {
        dbCreate = "update"
        url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
    }
}
production {
    dataSource {
        dbCreate = "update"
        url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
    }
}

非常感謝您早日做出回應。

謝謝

遇到過同樣的問題。

該問題似乎與您正在運行的grails版本有關。 對於版本2.2.3以下的grails上的jdk 1.7.025>版本,似乎會出現。

我們將其降級到較低版本的jdk,但沒有出現問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM