2016-12-08 7 views
0

私はHibernateとPostgreSQLを使用するMavenプロジェクトを持っています。今、私はこのプロジェクトの一部のクラス(本質的にはデータベース)をサーブレットで使いたいと思っています。Mavenプロジェクトを参照するサーブレット - NoClassDefFoundError

Tomcatのサーブレットにアクセスすると、java.lang.NoClassDefFoundError: javax/persistence/Persistenceエラーが発生します。

どういうわけか、Mavenの依存関係がサーブレットプロジェクトに「転送」されないと思っていますが、どうしたらよいか分かりません。私はMavenプロジェクトをサーブレットビルドパスに加えて、その "Web Deployment Assembly"にも追加しました...もっと何をする必要がありますか?

+0

JPAで[java.lang.ClassNotFoundException:javax.persistence.Persistenceの重複が検出されない可能性があります](http://stackoverflow.com/questions/25639515/java-lang-classnotfoundexception-javax-persistence-persistence-cannot -be-found) – Arpit

答えて

0

この依存関係を試してください。

<dependency> 
<groupId>org.hibernate.javax.persistence</groupId> 
<artifactId>hibernate-jpa-2.0-api</artifactId> 
<version>1.0.1.Final-redhat-3</version> 
</dependency> 
+0

私が言ったように、依存関係はMavenプロジェクトを単独で実行しても問題ありませんが、何らかの理由でサーブレットプロジェクトからプロジェクトを使用しているときに、 – BadCash

0

1.すべてのJARを確認し、すべての依存関係が追加されていることを確認します。

2.Clean your tomcat

ランタイム依存関係を追加してみてください。

すると、プロジェクトを右クリックしてプロパティ - を選択し3.Right>展開アセンブリ

  • クリック追加
  • 上のJavaのビルド・パス選択
完了 Maven依存
  • を選択
  • エントリ

    サーバーを再実行します。

    これが役立ちますように!

  • 関連する問題