2

私は2つのEclipseプロジェクトを持っています:

  1. jar としてパッケージ化された他のプロジェクトと共有されるコア クラス
  2. コア クラス jar を使用し、war としてパッケージ化された Tomcat 7 で実行される Web アプリケーション

Maven は、期待どおりに、コア クラスを jar としてコンパイルし、ローカル リポジトリにインストールします。Maven を使用して Tomcat にデプロイすると、すべて問題ありません。

Eclipse の Tomcat サーバーで Webapp を構成すると、Eclipse でコア プロジェクトを閉じている限り、問題なくホット デプロイできます。Tomcat の WEB-INF/lib フォルダーに配置された現在のコア jar ファイルでは、すべて問題ないように見えます。

ただし、コア クラス プロジェクトを Eclipseで開くと、次の 2 つの問題があります。

  1. コア jar にあるすべてのクラスに対して java.lang.NoClassDefFoundError を取得します
  2. WEB-INF/lib フォルダー内の jar ファイルが、すべての .java ソース ファイルを含む "core.jar" というディレクトリになっていることに気付きました (つまり、.class ファイルはありません)。

爆発した jar が問題だと思いますが、Eclipse でコア プロジェクトを閉じて、ローカルの Maven リポジトリの jar が lib フォルダーに正しく配置されるのを確認する以外に、この動作を停止する方法が見つかりませんでした。

Eclipse ビルド パスとリソース アセンブリ画面に jar を手動で追加しようとしましたが、他のエラーが発生します。Eclipse は Maven を介して依存関係を登録しているため、関係は既に存在しており、手動で介入する必要はありません。

誰かがこの問題を経験して修正しましたか?

4

1 に答える 1

2

Tomcat throws ClassNotFound exceptions for classes in other open eclipse projectsという質問には、私にとってはうまくいった答えがありました。

プロジェクトのプロパティに移動し、「展開アセンブリ」項目を選択し、「追加...」をクリックして「プロジェクト」を選択すると、依存プロジェクトを追加でき、問題は解決するはずです。

于 2013-11-26T14:47:49.677 に答える