2013-12-23 14 views
7

を実行している場合、それらが展開されていない私は、ビルドと依存関係の管理のためにMaven(のM2e-WTP)を使用するWebアプリケーション(Eclipseの動的Webアプリケーション)を持っています。このWebアプリケーションのPOMは、私のワークスペース内のいくつかの他のプロジェクトを参照しています。これはMavenで構築されたEclipseプラグイン(Tychoを使用して構築されています)とMavenのリポジトリから来た他のサードパーティライブラリです。私はCLIからMavenを実行したときのEclipseのMaven対応のWebアプリの参照ワークスペースのプロジェクトが、Tomcatサーバー

すべてが正常に動作します。すべての依存関係は、想定どおりWEB-INF/libディレクトリに含まれています。

Eclipseを使用してプロジェクトを実行しようとすると問題が発生します。 Eclipse内の設定済みのTomcatサーバーでアプリケーションを実行しますが、ワークスペース内の参照されているプロジェクトは展開された戦争に追加されません。

私は(プロジェクトの環境の下で)展開アセンブリに追加しようとした、それは完璧に動作しますが、これらの設定は、のM2eでMavenの構成が更新されるたびに一掃ます。いくつかの場所では、すべての依存関係をm2eで管理する必要があるため、そこに手動でエントリを追加するべきではないことを読んでいます。

質問:Eclipseにワークスペースプロジェクトの依存関係をWEB-INF/lib私はEclipseから実行すると、私のWebアプリケーションの?

私は、Eclipse J2EE 4.3.1(ケプラーSR1)を使用しています。

私はまた、右クリックし、プロジェクトをエクスポートを選択してみました - > WARファイルが、エクスポートしたWARファイルには、いずれかの参照ワークスペースのプロジェクトが含まれていません。私は問題が両方のケースに影響していると仮定しています。これは非常に迷惑なANSは、私は日に数回を展開アセンブリページに再度追加プロジェクトに行き、それを維持する必要があり、現時点では...かなり私を減速されている

...

更新: POMの依存関係として追加したワークスペースプロジェクトは、プロジェクトのプロパティの参照プロジェクト一覧に表示されます。しかし、プロジェクトエクスプローラでMaven依存関係を展開すると、ワークスペースプロジェクトの依存関係がリストに表示されません。 Mavenリポジトリにあるものだけが表示されます。彼らは地元のものは黙って、私は日食の外にプロジェクトを作成したので、私は同様の問題があったが、彼らはそれをインポート

+0

依存関係はどのスコープですか?それは 'compile'または' runtime'が戦争に含まれるべきです。 –

+0

私は実際に任意の明示的なスコープを追加しましたが、デフォルトでは 'compile'にあると仮定しました。コンパイルスコープを追加しましたが、同じ結果が得られます。ワークスペースではすべてうまくいきますが、私がMavenビルドを実行するときに、EclipseからWebアプリケーションを起動すると、参照されているワークスペースプロジェクトは含まれません。それらを使用しようとすると、java.lang.NoClassDefFoundErrorが発生します。 –

+0

こんにちは、誰でもこれを動作させることができましたか? – wenic

答えて

0

...無視しているようです。プロジェクトのコンテキストメニュー - >プロパティ - >プロジェクトファセット - >動的Webモジュール(適切なバージョンを選択する)のような適切なプロジェクトファセットを追加することでした。私はEclipse ADT(バージョン4.2.0)を使用していましたが、複数のインストールを避けるために、Androidと他の種類のアプリに同じEclipseを使用しています。

関連する問題