私は次のようなEclipseプロジェクト構造を持っています:
Eclipse
project a
project b
これらのプロジェクトはすべてMavenプロジェクトです。プロジェクトBはEclipseWTPプロジェクトであり、依存関係としてプロジェクトAが含まれています。私はm2Eclipseプラグインを使用しています。
プロジェクトBをTomcatに(すべてEclipse内から)デプロイすると、常にプロジェクトAからクラスが見つからないというエラーがスローされます。これを解決できる唯一の方法は、EclipseでcloseプロジェクトAにすることです。 mvn installコマンドを実行すると、この時点でプロジェクトAは他の依存関係と同様に扱われます。
プロジェクトAに変更を加えるたびに、プロジェクトAを再度開いてから閉じ続ける必要はありません(この段階ではかなり頻繁に発生します)。
プロジェクトBのビルドパスにプロジェクトAを追加しようとしましたが、それでうまくいくようには見えません。繰り返しますが、Eclipseでプロジェクトを閉じた場合にのみ機能するため、通常のmaven依存関係のように扱われます。
参考までに、私はEclipseのHeliosバージョンを使用しています。プロジェクトBはSpringプロジェクトであるため、TomcatはすべてのBeanなどをインポートするときに当然フォールオーバーします。
誰か提案がありますか?どうもありがとう。
Tomcatがクラスを見つけられない理由は、Eclipseでのプロジェクトの依存関係がTomcatによって認識されないためです。この問題を解決するには、プロジェクトaのbinフォルダーを、プロジェクトbから実行しているアプリのTomcatクラスパスに追加します。
あなたがする必要があるのはこれです:
あなたは行く準備ができているはずです。実際には2分のエクササイズだけです。幸運を
プロジェクトのプロパティに移動し、[Deployment Assembly]を選択し、[Add ...]をクリックして[Project]を選択すると、依存プロジェクトを追加でき、問題は解決するはずです。
コンテナサーバーに追加されたWebプロジェクトを右クリックし、[Maven]を選択してから、[ワークスペースの解決を無効にする]を選択します。次に、依存関係プロジェクトが他の依存関係と同様にjarとして表示されます。
WebProject-> Maven-> Disable Workspace Resolutionを右クリックします。
WTPを知っているm2Eclipse拡張機能をインストールしましたか?これがないと、m2eはWTPプロジェクトで正しく機能しません。これを参照してください:
簡単な方法:Run -> Run Configurations... -> Classpath