9

Eclipse Juno、Tomcat 7、および Maven 3 を使用して Web プロジェクトを開発していますが、奇妙な問題に遭遇しました。

私はいくつかのものをコンパイルする別のプロジェクトを持っており、そのjarを私のWebプロジェクトで依存関係として取り上げています。したがって、最終結果は 1 つの .war です。今、Eclipse に埋め込まれた Tomcat でこの war を実行し、ブラウザの更新ボタンを押すと、Tomcat はその jar にパスが見つからないと言います。

ワークスペースのWEB-INF/libフォルダーに、myApplication-common-widgetset-0.0.11-20130926.124257-7.jar があります。

wtpwebapps/myApplication/WEB-INF/lib の下の Tomcat Deployment ディレクトリに、myApplication -common-widgetset-0.0.11-SNAPSHOT.jar が表示されますlib は ~22Mb です。

ワークスペース jar を Tomcat lib フォルダーにコピーしようとしましたが、すべてが機能し、チャームとして実行されます。

アップデート:

  • mvn tomcat:runワークスペースでコマンド ラインから実行すると、すべてが機能します。
  • Eclipse (Kepler に、ワークスペースとホーム フォルダーを含むすべてを消去) と Tomcat 7 の両方を「再インストール」しました。まだ同じ問題があります。
  • Colleges は SVN から私のプロジェクトを取得しようとし、Eclipse と IntelliJ + Tomcat 7 の両方で正常に実行しました

何が起こったのでしょうか?Eclipse に埋め込まれた Tomcat がターゲット ディレクトリからすべてを取得しないのはなぜですか?

4

1 に答える 1

0

あなたが直面していると私が思う問題は、Eclipseがmavenの依存関係を厳密に尊重していないという現実です。

これは、Tomcat でのビルド、デプロイ、および実行時に、Eclipse が Maven に従わないという事実に関係しています。Eclipse はローカル ワークスペースのセットアップを使用するため、maven とは異なる依存関係ツリーが導入されることがあります。

あなたが提供した情報から、そのワークスペースlibファイルはmavenリポジトリから供給されたものであり、組み込みのTomcat展開ディレクトリにあるものはEclipseが構築したjarであるように見えます-私はここで推測しています。

その jar がワークスペース プロジェクトからのものである場合は、プロジェクトを閉じて、Eclipse に maven から jar を見つけさせることができます。

Eclipse と Maven に関するこの問題はかなり漠然としているため、依存関係に関して何が起こっているのかを正確に把握するのは困難です。申し訳ありませんが、これ以上お役に立てません。

于 2014-12-08T21:57:15.443 に答える