35

私はEclipse用のMaven 2プラグインとしてm2eclipseを使用しています。私はMavenが初めてなので、検索しても解決策が得られませんでしたが、私の間違いは単純かもしれません。コマンドラインからmavenを実行すると、正常にビルドされます。ただし、既存の Maven プロジェクトとしてインポートするか、mvn eclipse:eclipse を使用してからインポートすると、POM ファイルに見つからないアーティファクトが取得され、Maven の依存関係がまったく読み込まれなくなります。

奇妙なのは、2 つのプロジェクトがあり、どちらも親の pom パッケージ プロジェクトの子です。1 人の子がすべての Maven 依存関係を読み込みますが、もう 1 人の子は何も見つけられず、pom ファイルにアーティファクトがないと言います。繰り返しますが、コマンド ラインから問題なくインストールおよびパッケージ化できます。

プロジェクトを問題なく動作する netbeans にロードしようとさえしましたが、Eclipse を使用する必要があります。

これを修正する方法についてのアイデアはありますか?

アップデート

ディレクトリ構造、pom ファイルのレイアウト:

--main
  --pom.xml   (is a pom package that is the parent to two other projects)
  --ProjectA
    --pom.xml
  --ProjectB
    --pom.xml

Main は、ProjectA と ProjectB の両方の親プロジェクトです。ProjectB には依存関係として ProjectA があります。明らかに、m2eclipse はその依存関係に満足していません。ProjectB の pom ファイルから ProjectA の依存関係を削除するとすぐに、すべての Maven 依存関係が Eclipse によって検出されます。

- com.company.myproj:app:6.6.0:jar Missing: ---------- 1) com.company.myproj:main:pom:${myproj.version} ---------- 1 required artifact is missing. for artifact: com.company.myproj:main:pom:$
 {myproj.version} from the specified remote repositories: apache-incubating (http://people.apache.org/repo/m2-incubating-repository/, releases=true, snapshots=true), central (http://
 repo1.maven.org/maven2, releases=true, snapshots=false)

ただし、ProjectA にその依存関係を持たせるには、ProjectB が必要です。エラー メッセージは、m2eclipse がリモート リポジトリで ProjectA を探しているようです。プロジェクト A は .m2 ディレクトリにのみ存在する必要がありますが、m2eclipse にそこを参照するように指示する方法がわかりません。

コマンドラインから mvn を使用すると問題なく動作し、前に述べたように、netbeans はプロジェクトと依存関係を正常にロードするため、これは m2eclipse 固有の問題である可能性があると思います。

4

7 に答える 7

45

他のプロジェクトで作成された依存関係でこの問題が発生しました。ダウンロードしたサードパーティの依存関係は、ビルド パスに正常に表示されましたが、作成したライブラリには表示されませんでした。

解決策: 正しくビルドされていないプロジェクトで、プロジェクトを右クリックし、[プロパティ]、[Maven] の順に選択します。[ワークスペース プロジェクトから依存関係を解決する] というラベルの付いたボックスのチェックを外し、[適用] をクリックしてから [OK] をクリックします。プロジェクトをもう一度右クリックし、Maven->スナップショットの更新 (または依存関係の更新) を実行すると、プロジェクトが再構築されるとエラーが解消されます (自動ビルドが有効になっている場合は自動的に)。

于 2011-08-02T14:50:17.190 に答える
20

m2eclipse のインストールでは、(ユーザー ホームの下にある) 独自のリポジトリと設定を持つ組み込みの Maven を使用しているようです。

Maven 設定 ( Window -> Preferences -> Maven -> Installationsを開くと、[追加... ]を選択してから M2_HOME ディレクトリを参照することで、Maven インストールを追加できます。

設定のスクリーンショット
(出典: sonatype.com )

詳細については、m2eclipse ブックを参照してください。

于 2010-03-06T19:24:41.883 に答える
19

私にとって、maven は依存関係をダウンロードしていましたが、それをクラスパスに追加できませんでした。プロジェクトの .classpath を見ましたが、maven 関連のエントリはありませんでした。追加したところ

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>

問題は解決しました。

于 2012-09-04T07:20:51.710 に答える
2

私が見つけた理由の1つは、リポジトリからjarが見つからない理由の1つは、その特定のjarの.pomファイルが見つからないか破損している可能性があるためです。それを修正して、ローカルリポジトリからロードしてみてください。

于 2012-10-23T10:40:46.687 に答える
1

さて、私はこれを修正しました。最初にプロジェクトをMavenプロジェクトに変換し、次にそれらをEclipseワークスペースから削除してから、それらを再インポートする必要がありました。

于 2012-08-01T15:00:08.133 に答える
0

m2eclipseの使用に問題がありました(つまり、まったくインストールされていないようです)が、IAMを使用してプロジェクトを開発しています-Eclipse Foundationでサポートされている(またはホストされているなどの)Eclipse用のmavenプラグインです。

プロジェクトに奇妙なエラーが表示されることがありましたが(何かを移動できませんでした)、単純なコマンド(Eclipseからタスクとして、またはコンソールから実行)+更新(F5)ですべての問題が解決しました:

mvn clean

ただし、Eclipseでプロジェクトを作成したことに注意してください。しかし、私pom.xmlは手で修正しました。

于 2010-03-06T19:19:03.673 に答える