質問

私はハローワールドタイプのWebアプリケーションに取り組んでいます。 Eclipse HeliosをIDEとして、Maven 2を依存関係に処理し、展開およびテストするためにローカルに実行されるTomcat 7サーバーを使用しています。アプリケーションはSpring MVCベースであり、データ管理にHibernateを使用しています。

プロジェクトを戦争ファイルに正常にパッケージ化できます。 Tomcatで戦争を展開すると、ログに次のエラーが報告されています。

重度:コンテキストの初期化に失敗しました

org.springframework.beans.factory.beancreationexception:servletcontextリソースで定義された名前「hibernatesessionfactory」でbeanを作成するエラー[/web-inf/spring-servlet.xml]:init methodの呼び出しが失敗しました。ネストされた例外はjava.lang.noclassdeffounderrorです:クラスorg.hibernate.cfg.annotationConfigurationを初期化できませんでした

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) at org.springframework.beans.factory. support.abstractautowirecapablebeanfactory $ 1.RUN(AbstractAutowireCapableBeanFactory.java:409)など...

正しい依存関係が自分のPOMに含まれていることを確認するようにチェックしました。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.4.0.GA</version>
    <type>jar</type>
    <optional>false</optional>
</dependency>

パッケージ化されたWARファイルに、エラーでクラス(org.hibernate.cfg.annotationconfiguration)が言及されている必要なJARファイルがあることを確認しました。

./tomcat 7/webapps/helloworld/web-inf/lib/hibernate-annotations-3.4.0.ga.jar

この情報に基づいて、これはClassPath構成の問題である可能性があると思います。 Tomcat 7で読んだドキュメントから、Tomcatは「/web-inf/lib」フォルダーでJARファイルを利用できるはずです。 WebAppのLIBフォルダーのJARファイルを認識するために、Tomcatの構成のステップをスキップしたかどうかを知っていますか?

役に立ちましたか?

解決

これは一般的なアドバイスであることに気付きましたが、過去にTomcatとJettyの両方でこのような問題がありました。 EclipseでM2Eclipse POMエディターを使用して、「依存関係階層」をクリックして、すべてのすべてを慎重に確認することから始めます。 推移的 依存関係。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top