2010-12-15 6 views
1

M2eclipseプラグインにはさまざまな既知の問題があります。うまくいけば、誰かが解決策または回避策を知っていることを望みます。M2Eclipseは同じワークスペース内のプロジェクトである場合に依存関係を見つけることができません

私たちは、ワークスペース内の30件のプロジェクトのように持っていますが、わかりやすくするために2のみが存在すると仮定することができます:AエンB.

Bは、我々が持っている問題であるB. ののpom.xmlでの依存関係として含まれますそれは日食では、Aのクラスが見つかりませんコンパイルエラーを取得します。しかし、ローカルリポジトリとそれに近いプロジェクトAにデプロイするために 'A'をインストールするとすべてうまくいく。コンパイルエラーはありません。したがって、Aがプロジェクトに存在する場合、M2EclipseはEclipseのクラスパスを正しく設定することができないようです。

わかりにくいものを作るために、プロジェクトCもプロジェクトAに依存していますが(Bとまったく同じですが)、コンパイルエラーはありません。プロジェクトBとプロジェクトCの間に意味のある違いはありません。同じようにAを含んでいます。あなたの助けのための

おかげで、 Stijn

P.S.私はプラグインのバージョン0.10.2.20100623を使用しています

答えて

2

は最終的に、苦渋時間後、私は原因を見つけました。 私は.classpathファイルと.settingsファイルに焦点を当てていましたが、問題は.projectファイルにありました。このファイルは、プロジェクトのAタグに次のように入力されています。

<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> 

これを追加すると問題が解決しました。

2

私はこれまでにこの動作を経験しました.Mavenプロジェクトを別々にインポートまたはチェックアウトしたときに私が過去に発生しました。

前提条件:試してupdate site

まず最初:あなたはマルチモジュールMavenプロジェクトをチェックアウトする前に、m2extrasインストールされていることを確認し、各プロジェクトを右クリックし、Mavenを選択 - > [更新プロジェクトの設定を。プラグインは、プロジェクト間でプロジェクト参照を構築できる可能性があることを検出するのに十分なほどスマートです。

30件のプロジェクトがすべて1つのルートからサブモジュールになっている場合、2番目のこと:m2eclipseのSCM統合を使用してルートの「Checkout as Maven Project ...」を実行できるため、これが最も簡単ですポム。 M2eclipseは、プロジェクト参照を適切に構築して、スーパーポームと各サブモジュールのプロジェクトを作成します。

試してみると3番目のこと:相互依存関係を反映するために、各プロジェクトのプロジェクト設定で手動でプロジェクト参照を作成してみます。それはたくさんの作業になりますし、あなたがeclipseの.project/.settings(eww)をチェックインしない限り、作業コピーごとに個別に行う必要があります。

を解決しました

+0

素敵で明確な説明のために既に+1。私は本当にエキストラがインストールされていない、私はこれを最初に行い、また、あなたの2番目の提案(私たちは確かに根元のポンを持っている)を試してみます。 –

+0

こんにちは、私はm2eclipse v12にアップグレードし、追加もインストールしました。親pomをインポートしてすべてのプロジェクトをインポートしました。残念ながら、これは問題を解決していません。また、ステップ1(更新設定)は役に立たなかった。展開されていないプロジェクトが既に正しく参照されていたため、.settings(もちろんsvnにはない)のorg.eclipse.wst.common.componentをNAに変更しました。しかし、プロジェクトBの依存関係を見てみると、プロジェクトAは含まれていないことに気づきました(しかし、Cのような他のプロジェクトもあります)。私はその原因(と解決策?)はここにあると思いますが、私はそれを見ることができません... –

+0

プロジェクトBの依存関係がプロジェクトAのGAVを正確に指定していることをすでに確認していれば、mvn-依存関係プラグインの分析目標、またはm2eclipse POMエディタの従属グラフビューを次の匂いテストとして追加します。 –

関連する問題