3

Eclipse のワークスペースで複数の関連プロジェクトを開いています。プロジェクトの 1 つは、別のプロジェクトからの出力 jar に maven 依存関係があります。このプロジェクトでは、依存関係にあるクラスへの参照は常に赤 (未確認) として表示され、コード補完も javadoc も表示されません。jar をクラスパスに手動で追加すると、この問題はなくなります。問題は、リビジョンが変更されるたびに jar を手動で追加する必要はありません。それが Maven の目的です。これを解決する方法についてのアイデアはありますか? 私にはバグのように思えますが、よくわかりません...

4

3 に答える 3

2

これを行う正しい方法は次のとおりです。

  • m2eまたはm2eclipse(Eclipse のバージョンに応じて) がインストールされていることを確認してください: http://www.eclipse.org/m2e/
  • POM ファイルの依存関係セクションのみを使用し、Eclipse プロジェクトの参照をいじらないでください。プロジェクトを右クリックし、[ Maven] > [プロジェクト構成の更新] を選択して、プロジェクトを Maven のデフォルト設定にリセットします。このようにして、m2eは依存関係の所有権を持ちます。
  • そのオプションがない場合は、Maven を使用できるようにプロジェクトを有効にする必要がある場合があります。プロジェクトを右クリックし、Maven > Enable Workspace ResolutionまたはMaven > Enable Dependency Managementを選択します。
  • 参照されているすべてのプロジェクトが Eclipse で開かれており、Maven の性質が有効になっていることを確認してください。
  • 各プロジェクトの Maven 設定を確認し、groupIdartifactId、およびversionが、Eclipse で開いているプロジェクトと一致していることを確認してください。したがって、依存するプロジェクトの Eclipse のバージョンが1.0.0-SNAPSHOTである場合は、依存するプロジェクトの POM ファイルが依存関係セクションでバージョン1.0.0-SNAPSHOTを参照していることを確認してください。
  • 各プロジェクトのワークスペースの解決を有効にします。プロジェクトを右クリックし、Maven > Enable Workspace Resolutionを選択します。
  • 最後に、プロジェクトがまだ解決されていない場合は、プロジェクトをもう一度右クリックし、Maven > Update Dependenciesを選択します。

これで問題が解決するはずです。

于 2012-06-28T10:54:02.010 に答える
2

私は同じ問題を抱えていて、プロジェクトを右クリックし、コンテキストメニューから Maven -> Disable Workspace Resolution を選択して問題を解決しました。上記のように、POMファイルからプロジェクトを更新しようとしました。

于 2013-05-13T11:03:08.720 に答える