サーブレットを使用する単純なWebアプリケーションを使用しています。私はそれをmavenプロジェクトとして作成し、それをeclipseにインポートしました(ファイル - >インポート - >既存のmavenプロジェクト)maven + eclipse + tomcat:クラスが見つかりません例外
warはtomcat 7に正しくデプロイされます。
私はEclipseでTomcat 7サーバーを作成してEclipseでTomcatを起動すると、アプリケーションを実行するときに例外が発生します。
root cause
java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
first.model.BeerExpert.<clinit>(BeerExpert.java:12)
first.servlet.BeerServlet.doPost(BeerServlet.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
first.model.BeerExpert.<clinit>(BeerExpert.java:12)
first.servlet.BeerServlet.doPost(BeerServlet.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
日食/ Tomcatの中で
注意を行う必要がある特定のクラスパスの設定があります:私はクリーンインストールMVN実行することですし、それはjarファイルを作成します。そして、私はjamをtomcat(7)webappディレクトリに移動して再起動するとうまく動作します。
アプリケーション自体が正常に動作しているため、pom.xmlの詳細を投稿していません。しかし、私はそれを投稿することができます解決にはIDが必要です。
この設定はpomファイルに設定できますか? –
私はこの同じ問題を抱えていて、2日間何が間違っていたのか理解できませんでした。私の状況は非常にユニークだと思いますが、私はそれをただの場合に備えています。エクスポートされていないプロジェクトでは、プロパティ - >プロジェクトファセットとチェックされていないユーティリティモジュールに行きました。 Tomcatできれいにして再公開しました。それがそれでした。私はこれがちょっと変わったバグだと思っていますが、誰かを助けることができる場合に備えて追加しています。 – DavidR
@DavidR、私は24時間これに苦労してきました。あなたはソリューションのインターネット上で唯一の人だと思われます。ありがとうございました!あなたが運がなければ、これを試してみてください。 – thomas88wp