2012-01-23 8 views
2

gwt、maven、gwt mavenプラグインと一緒にhibernateを使用しています。しかしgwt-maven-pluginとhibernate

、Hibernateは次のようなメッセージで初期化中に失敗した:周りグーグル

[ERROR] Initial SessionFactory creation failed.org.hibernate.HibernateException: could not instantiate QueryTranslatorFactory: org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory 

は、これは明らかに二回、クラスパス上にあるhibernate.jarに関連していることを私に示しています。

GWTプラグインがそのクラスパスをどのように設定するのか完全に理解していません。私はhibernate-coreをscope->に設定しようとしましたが、これはパッケージの/ libディレクトリには含まれませんが、jettyを実行するときにクラスパスに渡します。

これは、MVNのGWTから出力された:誰もがGWT、Mavenを取得し、一緒に素晴らしいプレーするために休止状態に管理している場合は、実行-X

C:\Program Files\Java\jdk1.6.0_27\jre\bin\java -Xmx512m -classpath C:\Develop\Git-repositories\PromoCMS\promocms\src\man\java; 
C:\Develop\Git-repositories\PromoCMS\promocms\src\main\resources; 
C:\Develop\Git-repositories\PromoCMS\promocms\target\promocms-1.0-SNAPSHOT\WEB-INF\classes; 
C:\Users\secretusershyy\.m2\repository\com\google\gwt\gwt-servlet\2.4.0\gwt-servet-2.4.0.jar; 
C:\Users\secretusershyy\.m2\repository\com\google\gwt\gwt-user\2.4.0\gwt-user-2.4.0.jar; 
C:\Users\secretusershyy\.m\repository\org\hsqldb\hsqldb\2.2.6\hsqldb-2.2.6.jar; 
C:\Users\secretusershyy\.m2\repository\org\hibernate\hibernate-core\4..1.Final\hibernate-core-4.0.1.Final.jar; 
C:\Users\secretusershyy\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar; 
C:\Users\secretusershyy\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar; 
C:\Users\secretusershyy.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.1_spec\1.0.0.Final\jboss-transaction-api_1.1_spc-1.0.0.Final.jar; 
C:\Users\secretusershyy\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar; 
C:\Users\secretusershyy\.m2\repositoy\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar; 
C:\Users\secretusershyy\.m2\repository\org\hibernate\javax\persistence\hiberate-jpa-2.0-api\1.0.1.Final\hibernate-jpa-2.0-api-1.0.1.Final.jar; 
C:\Users\secretusershyy\.m2\repository\org\jboss\logging\boss-logging\3.1.0.CR2\jboss-logging-3.1.0.CR2.jar; 
C:\Users\secretusershyy\.m2\repository\org\javassist\javassist\3.15.0-GAjavassist-3.15.0-GA.jar; 
C:\Users\secretusershyy\.m2\repository\org\hibernate\common\hibernate-commons-annotations\4.0.1.Finl\hibernate-commons-annotations-4.0.1.Final.jar; 
C:\Users\secretusershyy\.m2\repository\org\slf4j\slf4j-api\1.6.4\slf4j-api-.6.4.jar; 
C:\Users\secretusershyy\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\secretusershyy\.m2\repository\com\google\gwt\gwt-user\2.4.0\gwt-user-2.4.0.jar; 
C:\Users\secretusershyy\.m2\repository\javax\validation\validation-api\1.0.0.GAvalidation-api-1.0.0.GA.jar; 
C:\Users\secretusershyy\.m2\repository\javax\validation\validation-api\1.0.0.GA\validation-api-1.0.0.GA-sources.jar; 

C:\Users\secretusershyy\.m2\repository\com\google\gwt\gwt-dev\2.4.0\gwt-dev-2.4.0.jar com.google.gwt.de.DevMode -war C:\Develop\Git-repositories\PromoCMS\promocms\target\promocms-1.0-SNAPSHOT -gen C:\Develop\Git-repositoris\PromoCMS\promocms\target\.generated -logLevel INFO -port 8888 -startupUrl PromoCMS.html mrkt.promocms.gwt.PromoCMS 

この1上の任意の助けいただければ幸いです。

UPDATE 私は、このことについて間違った道を進んで意味だと思うが、私はとにかくクラスパスにjarファイルを複製することによるものであるとは思いません。

基本的に、私は依存性としてhibernate-core 4.0.1を追加しました。私が3.6.0にダウングレードすれば正常に動作します。

+0

添付ファイルにアプリケーションのソースコードを提供できますか? – BraginiNI

+0

SessionFactoryの作成時に初期化フェーズで失敗します。私はhibernate.cnf.xmlを作成することができましたが、それは多くの助けになるとは思えません。なぜ(基本的に、POMのバージョン3.6.0に変更した場合、それはハイバネートv.4.0.1の問題であるように見えますが、この問題は解決しません)。 – JustDanyul

答えて

3

HQLパーサー実装の選択に応じて異なります。次のようにプロパティ名を変更します。

<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> 

または

<property name="hibernate.query.factory_class">org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory</property> 

はいただきました!の新第6回のポイントを参照してください? Hibernate 4.0のセクションlink