23

次のようなEclipseプロジェクト構造があります。

eclipse
    project a
    project b

これらのプロジェクトはすべて Maven プロジェクトです。プロジェクト B は Eclipse WTP プロジェクトであり、依存関係としてプロジェクト A が含まれています。m2eclipse プラグインを使用しています。

プロジェクト B を (すべて Eclipse 内から) Tomcat にデプロイすると、プロジェクト A からクラスが見つからないというエラーが常にスローされます。これを解決できる唯一の方法は、Eclipse でプロジェクト Aを閉じてmvn installコマンドを実行することです。そのため、この時点でプロジェクト A は他の依存関係と同じように扱われます。

プロジェクト A に変更を加えるたびに、プロジェクト A を再度開いてから閉じる必要はありません (この段階ではかなり頻繁に発生します)。

プロジェクト A をプロジェクト B のビルド パスに追加しようとしましたが、うまくいかないようです。繰り返しますが、Eclipse でプロジェクトを閉じた場合にのみ機能するため、通常の Maven 依存関係のように扱われます。

参考までに、Eclipse の Helios バージョンを使用しています。プロジェクト B は Spring プロジェクトなので、Tomcat がすべての Bean などをインポートすると、当然、Tomcat は失敗します。

誰か提案はありますか?どうもありがとう。

4

6 に答える 6

76

あなたがする必要があるのはこれです:

  1. Eclipse で、[ウィンドウ] > [ビューの表示] > [サーバー] に移動し、[サーバー] というタブを開きます。
  2. サーバーで、目的のサーバーをダブルクリックします
  3. この操作により、[概要] というタイトルのウィンドウが開き、選択したサーバーがタブに表示されます。
  4. このウィンドウで次を選択します: 起動構成を開き、リンクをクリックします。
  5. [構成の編集] ウィンドウで、[クラスパス] というタブを選択します。
  6. ClassPath テキストボックスで、次の行を選択します: User Entries
  7. 右側のボタンを押します: Add Projects
  8. 表示される [プロジェクトの選択] ウィンドウで、サーバーに検索させたい外部プロジェクトをクリックして選択します。
  9. [適用] をクリックしてこれらのウィンドウを閉じ、スタックを処理するときに必要に応じて [OK] をクリックします。
  10. 概要ウィンドウでサーバーを再起動します

あなたは行く準備ができているはずです。たった2分のエクササイズです。幸運を

于 2012-09-11T03:38:09.147 に答える
35

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

于 2012-03-11T20:44:55.473 に答える
5

tomcat がクラスを見つけられない理由は、Eclipse でのプロジェクトの依存関係が tomcat によって認識されないためです。この問題を解決するには、プロジェクト a の bin フォルダーを、プロジェクト b から実行されているアプリの tomcat クラスパスに追加します。

于 2011-04-09T08:20:44.707 に答える
2

WTP を認識している m2eclipse 拡張機能をインストールしましたか? これがないと、m2e は WTP プロジェクトで正しく機能しません。これを参照してください:

https://docs.sonatype.org/display/M2ECLIPSE/WTP+mini+howto

于 2011-04-09T16:26:59.940 に答える