web-dev-qa-db-ja.com

Mavenの依存関係を使用するようにEclipseビルド・パスを構成する方法

Mavenがプロジェクト内の依存関係を管理するために提供する機能を利用したいと思います。 Mavenがどのように機能するかを私が簡単に理解しているということは、必要なJARを取得してからこれらのライブラリーを使用してプロジェクトを構築するということです。

現在、テスト用に設定された単純なPOMファイルを持っています。

<project xmlns="http://maven.Apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

通常、プロジェクトの依存関係を管理するときは、プロジェクトまたはJARをプロジェクトのビルドパスに追加してから、自分のプロジェクトをビルドできます。

しかし、M2Eclipseを使用すると、依存関係はビルドパスに自動的に追加されません。 Mavenが依存関係を管理していることをEclipseに認識させるために、これを構成する必要がある場所はありますか?

116
James Goodwin

プロジェクトを右クリックした場合は、「maven」の下に「依存関係管理を有効にする」オプションがあるはずです。それでおしまい。

109
Buhb

実行した場合

mvn Eclipse:clean

に続く

mvn Eclipse:eclipse

あなたのためにEclipseの.classpathファイルを用意するでしょう。すなわち、これらのコマンドはコマンドラインからのmavenに対して、すなわちEclipseの外部で実行されます。

63
davek

私はあなたがそれを述べたようにあなたがm2Eclipseを使っていると思います。ただし、Eclipseでプロジェクトを作成したかどうかは明確ではないので、すべてのケースを網羅しようと思います。

  1. Eclipseで "Java"プロジェクトを作成した場合(Ctrl + N> Javaプロジェクト)、Package Explorerビューで右クリックプロジェクトを表示して、---に移動します。Maven> Dependency Managementの有効化(初期のプロジェクト構造によっては、ビルドパスのソースフォルダにsrc/Javaを追加するなどして、Mavenのものと一致するように変更することもできます)。

  2. Eclipseで「Mavenプロジェクト」を作成した場合(Ctrl + N> Mavenプロジェクト)、それはすでに「Maven対応」になっているはずです。

  3. MavenプロジェクトをEclipseの外部で(手動またはアーキタイプを使って)作成した場合は、単純にEclipseにインポートします(右クリック the Package Explorer表示してImport ...> Maven Projects)を選択すると、 "Maven ready"になります。

依存関係を追加するには、右クリックプロジェクトを選択してMaven> Add Dependency)を選択するか、pomを手動で編集します。

シモンズ:あなたがm2Eclipseを使用している場合は maven-Eclipse-plugin を使用しないでください。それは絶対に必要ではありません、それは混乱を招くでしょう、それはいくらかの混乱を生み出すでしょう。いいえ、本当に、自分がしていることを本当に知っていない限り、使用しないでください。

28
Pascal Thivent

プロジェクトを右クリックして設定> Mavenプロジェクトに変換

その後、あなたはあなたのプロジェクトのためのすべてのMaven関連メニューを見ることができます。

14
DevJav

これを.classpathファイルに追加してください。

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

THX

14
Apurva Singh

私はこんな感じでした。

プロジェクトを右クリックして - > configure - > mavenプロジェクトに変換してください。プロジェクトを右クリック - > maven - >依存関係を追加.

9
madhu_karnati

Eclipse(Mars)では、次のようにします。

プロジェクトのプロパティ - > Maven 「ワークスペースプロジェクトからの依存関係の解決」が無効であることを確認してください。

5
Thomas Beer

私はMavenや設定メニューを見つけられませんでしたが、私の問題を解決する次のボタンを見つけました:

enter image description here

4
borjab

M2Eclipseが正しくインストールされると、自動的に依存関係を追加するはずです。ただし、次のように入力してEclipseプロジェクトファイルを生成する必要があります。

mvn Eclipse:m2Eclipse

あるいは、m2Eclipseを使用しない場合は、

mvn Eclipse:eclipse
2
EJB

それのどれも私の問題を解決しなかった。しかし、pom.xmlをクリックすると、下部に依存関係という名前のタブがあります。このタブでは2つのセクションに分かれています。1つは依存性と呼ばれ、もう1つは依存性管理と呼ばれます。依存関係セクション内のすべてのものを選択し、「追加」をクリックして依存関係管理の管理下に入ります。プロジェクトを閉じて再度開きます。

1
amralieg

新しいEclipseバージョン(> = Mars)の場合は、プロジェクトを右クリック>構成> Mavenプロジェクトに変換

1
JBoy

私はいくつかの問題を引き起こすわずかな変化を持っていました - 1つのプロジェクト内の複数のサブプロジェクト。この場合、POMを含む個々のフォルダに移動し、mvn Eclipse:eclipseコマンドを実行してから、手動でクラスパスエントリを自分のプロジェクトクラスパスファイルにコピーまたはマージする必要がありました。

1
Mearde

いくつかの理由で私の答えを追加します。

  • どういうわけか、リストされた答えのどれも直接私の問題を解決しませんでした。
  • Mavenの下に「依存関係管理を有効にする」が見つかりませんでした。 2015年2月4日水曜日にビルドされたEclipse 4.4.2を使用しています。

私を助けたのはMavenの下で "プロジェクトの更新"と呼ばれる別のオプションで、それをクリックするとこのウィンドウが開き、 "スナップショット/リリースを強制的に更新する"というチェックボックスがあります。このチェックボックスの本当の目的は私が知っていることとは異なりますが、どういうわけかそれは依存関係の問題を解決しました。 enter image description here

1
Saurabh Patil

POMが命名規則に従い、小文字でpom.xmlおよびNOT POM.xmlと命名されていることを確認してください。

私の場合、すべてが正しかったのですが、右クリックしてUpdate project configurationを実行しようとしたときにEclipseがまだ不満を言っていました - POMを読み取ることができないと私に言った。名前を小文字のpom.xmlからPOM.xmlに変更しましたが、うまくいきました。

0
Karun

私もこの問題に出会いました。 pom.xmlに依存関係を追加するとき、私はローカルフォルダー/Users/xyz/.m2/をチェックインし、jarはすでにそこにダウンロードされていますが、Eclipseのビルドパスを追加することはできません。

私のEclipseバージョン:Mars.2 Release(4.5.2)

プロジェクトを右クリック> Maven> ワークスペース解決を有効にする

そして、これで私の問題は解決しました。

0
Eddy

標準のMavenプロジェクトとして構造化されていると想定した場合、ここで具体的なプロジェクトは存在しないため、通常は作業中のプロジェクトから.classpathファイルをコピーできます。

0
Puneet Lamba

たぶんあなたはM2Eclipseの代わりに maven-Eclipse-plugin を調べることができます。

そこでは、基本的にpven.xmlにmaven-Eclipse-plugin設定を追加してから、mvn Eclipse:eclipseを実行してEclipseに必要な.projectおよび.classpathファイルを生成します。そうすれば、Eclipseで正しいビルドパスが得られます。

0
Juha Syrjälä

これはEclipse Oxygen(4.7.0)で私のために働きました:

[プロジェクト] - > [Maven] - > [Mavenプロファイルの選択...]を右クリックし、[リポジトリプロキシ]ボックスをオンにして[OK]を押します。

0
r590