0

grails run-app コマンドを使用して Grails 2.1.1 アプリを実行しているときに、必要な Bean を作成できないという Hibernate エラーが発生します。

エラーのスタック トレースを以下に示します。

Grails 2.1.1 のロード | クラスパスを構成しています。| | 開発に設定された環境..... | Grails アプリケーションのパッケージ化.... | 1 ソースファイルをコンパイル中 | 1 つのソース ファイルをコンパイルしています..... | Grails アプリケーションの実行中 Spring Security UI の構成 ... ... Spring Security UI の構成を完了 Spring Security Core の構成 ... ... Spring Security Core の構成を完了 Spring Security ACL の構成 ... ... Spring Security ACL の構成を完了 Spring の構成Security 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 の作成中にエラーが発生しました: Bean 'dialectDetector' への参照を解決できません キー [hibernate.dialect] で Bean プロパティ 'properties' を設定している間。ネストされた例外は 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 | 走る 。. . java.lang.Thread で BeanCreationException が原因で発生しました:「transactionManager」という名前の Bean を作成中にエラーが発生しました:Bean プロパティ「sessionFactory」の設定中に、Bean「sessionFactory」への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: Bean への参照を解決できません ' Bean プロパティ 'hibernateProperties' の設定中の 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 ダイアレクトを判別できませんでした! 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 ダイアレクトを判別できませんでした! 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 ダイアレクトを判別できませんでした! BeanCreationException: 'dialectDetector' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: データベース名 [H2] の Hibernate ダイアレクトを判別できませんでした! 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"
    }
}

早い対応は本当にありがたいです。

ありがとう

4

1 に答える 1

0

同じ問題を経験しました。

この問題は、実行している grails のバージョンに関連しているようです。jdk 1.7.025> バージョン 2.2.3 より前の grails のバージョンでは、これが表示されるようです。

下位バージョンの jdk にデグレードしましたが、問題は発生しませんでした。

于 2013-08-30T11:37:51.190 に答える