GitからEclipseへのMavenプロジェクトのインポート


100

MavenとGitの両方からインポートすることを選択し、Eclipseにプロジェクトを適切に生成させるにはどうすればよいですか?

プロジェクトをEclipseに取り込むには、File-> import-> mavenを選択してから、すべてのMavenプロジェクトをインポートして正常にビルドするか、File-> import-> gitを選択してpomを無視する新しいプロジェクトを作成します。 .xmlであり、プロジェクトを適切に生成しません。

どちらかを実行できるようですが、両方を組み合わせることはできないため、正しく生成されたプロジェクトを取得できます。

回答:


103

Eclipse Indigo + M2Eclipse 1.0はそれを非常に簡単にします。

M2Eclipse用のGitコネクターがない場合は、インストールします。M2Eclipseは、[インポート]メニューでプロンプトを表示することにより、支援します。

  1. パッケージエクスプローラービューから[インポート...]コンテキストメニューを選択します。
  2. Mavenカテゴリーの下の「SCMからのMavenプロジェクトのチェックアウト」オプションを選択します
  3. 表示されたウィンドウで、「m2eマーケットプレイスでSCMコネクタをさらに検索する」というリンクを選択します。
  4. Gitのコネクタを検索...インストール...再起動

検索ボックスに「Git」ではなく「EGit」と入力して、正しいコネクタを見つける必要がある場合があります。

それが終わったら、EGitリポジトリに移動し、作業ディレクトリのコンテキストメニューを表示して、[Mavenプロジェクトのインポート...]を選択します。

できた!


4
私はこれをIndigoで行いましたが、Junoには現在、m2e-git SCMのインストールを妨げるバグがあります。bugs.eclipse.org/bugs/...
Codey McCodeface

1
@ medPhys-plこれは、Git自体ではなく、m2eとEGitに関連する問題のようです。
スリサンカラン

1
「簡単」は相対的です。eclipseマーケットプレイス全体はごちゃごちゃです、maven repostioriesは互換性を追跡しないのでごちゃごちゃです。そのため、ほぼ同一のパッケージのコピーが数十になり、「m2eマーケットプレイス」を追加しても状況は改善されません。 。
QUITあり--Anony-Mousse 2013年

1
@ Anony-Mousse:「簡単」は相対的であることに同意します。ただし、元の質問(GitリポジトリからEclipseへのインポート)に対処した私の経験を説明するためにそれを使用しました。あなたの不満は有効かもしれませんが、対処されている問題ではありません。
スリサンカラン2013年

2
手順4で修正があります。「.. connector for EGit ..」である必要があります。マーケットプレイスで具体的に検索するm2e-egit。
nanospeck 2015年

41

コマンドライン(Eclipseの外部)からgit cloneを実行し、[ファイル]-> [インポート...]-> [既存のMavenプロジェクト]を使用します。ます。

あなたのプロジェクトはGitとMavenを使用するものとして理解されます。これは、IMOをインポートするための最も高速で信頼性の高い方法です。


3
はい、これは間違いなく機能しますが、新しいm2はようやくgitおよびsvnと適切に統合されました。他の人が指摘したように、EGit 1.0.0、m2e 1.0、およびm2e-egit 0.13を使用すると、git-> mvnプロジェクトをマテリアライズして1ステップでEclipseを実行できます。
thetoolman '27

ええと、プロジェクトを右クリックし、「チーム>プロジェクトの共有」などを使用して、EGitがGitプロジェクトであることを認識させる必要がありました。
Brian McCutchon

19

ステップ1:Eclipseのセットアップ

まず最初に、いくつかのEclipseプラグインをインストールする必要があります。したがって、ヘルプドロップダウンメニューの Eclipse IDEソフトウェアインストール機能を使用して、新しいソフトウェアをインストールし、利用可能なソフトウェアサイトへのリンクを追加して、インストールします。

  1. GITプラグイン(EGIT) - http://download.eclipse.org/egit/updates
  2. Eclipse Mavenプラグイン(M2Eclipse)- http://download.eclipse.org/technology/m2e/releases
  3. EGit用のMaven SCMハンドラー(m2e-egit)

    M2Eマーケットプレースからインストール(設定→Maven→発見→カタログを開いて「m2e-egit」を検索)


ステップ2:リポジトリのクローンを作成する

GitからMavenプロジェクトを複製(ダウンロード)

GitからEclipse以外のMavenプロジェクトをチェックアウト(ファイル→インポート..→Maven→SCMからMavenプロジェクトをチェックアウト)

ファイル→インポート..→Maven→SCMからMavenプロジェクトをチェックアウト

次に、gitリポジトリリンクをSCM URIフィールドに追加します。次に、[次へ]をクリックして終了します。


18

この(更新された)執筆時点では、動作する設定は次のとおりです。

  1. Eclipse 3.8(Eclipse Indigo更新サイト)
  2. EGit 1.3.0(Eclipse Indigo更新サイト)
  3. m2e 1.0.200(Eclipse Indigo更新サイト)
  4. m2e-egit 0.14.0(コネクターを追加する場合のm2eマーケットプレイス)

Ubuntu Raringでテスト済み。

確かに「インポート」->「Maven」->「SCMからMavenプロジェクトをチェックアウト」することができ、これが最も速い方法です。ただし、現在、このような直接インポートでは、複製されたリポジトリフォルダ名を制御できません。「Gitリポジトリ」ビューから作業し、「Gitリポジトリからクローンを作成して、このビューにクローンを追加する」のいずれかを実行し、その後、そのようなクローンから「Mavenプロジェクトをインポートする」を実行する方がよい場合があります。最も長い方法は、手動でクローンを作成してから、「既存のローカルGitリポジトリをこのビューに追加する」ことであり、その後に「Mavenプロジェクトのインポート」が続きます。どちらの場合も、複製されたフォルダを完全に制御できます。

欲求不満で私を泣かせた副次的な問題についての最後のコメント。私の知る限り、クローンされたリポジトリがEclipseワークスペースのルートにあり、Mavenプロジェクトファイル階層のルートにPOMがある場合、そのようなルートプロジェクトをインポートすると、クローンされたフォルダーの名前が変更されます(選択したテンプレート、デフォルト[artifactId]に)。プロジェクト構造を変更せず、ファイルをワークスペース外に保持せずに、ワークスペースフォルダーのサブサブフォルダーにクローンを作成することで、この問題を簡単に回避できます。


13

私はこれを自分のプロジェクトでテストしています。

  1. エクリスペインディゴ
  2. 「ヘルプ>新しいソフトウェアのインストール」「Eclipse Git Plugin ..」で公式Gitプラグインを有効化/インストールし、ロットをインストールします。
  3. これらの手順でMaven / EGitコネクターを有効にしますm2eclipseでgit統合をどのように機能させるのですか?
  4. Gitリポジトリパースペクティブに切り替えます。プロジェクトgit urlを右クリックして貼り付けます。デフォルトはすべて機能するはずです。推測するインストールフォルダを変更することもできます。
  5. クローンされたリポジトリを展開し、[Working Tree]を右クリックして[Mavenプロジェクトのインポート...]を選択します。
  6. Javaパースペクティブに切り替えます。プロジェクトを右クリックして、「チーム>プロジェクトの共有」を選択します。[Git]を選択し、[プロジェクトの親フォルダでリポジトリを使用または作成する]チェックボックスをオンにしてください。

1
ええ、私は同じことをしました。m2e-egitがステップ6を自動的に行わない理由を理解しないでください。
xmedeko 2012年

6

これが私の回避策です、これはこれらの問題の解決策です:

  • m2e-egitをインストールできません(Junoでエラーが発生します)
  • 一般的なプロジェクト(Gitリポジトリーに接続されている)をMavenプロジェクトに変換しても機能しません(Mavenプロジェクトのインポート手順は必須のようです)。
  • ファイルシステムのリポジトリからMavenプロジェクトをインポートしても、Gitに接続されているプロジェクトは表示されません。

  1. Gitリポジトリー探索パースペクティブでGitリポジトリーをセットアップします。
    • Javaパースペクティブに切り替えます。[インポート]> [既存のMavenプロジェクト]
    • ファイルシステムでGitチェックアウトを参照し、pom.xmlファイルを含むディレクトリを選択します。インポートを終了します。これらのプロジェクトがGitに接続されていないことがわかります。:-(
    • これらのプロジェクトを削除しますが、ファイルシステムからは削除しないでください。クローンを削除したくありません。このタスクでは.projectファイルも残されるため、次のステップでインポートできます。
  2. Git Repository Exploringパースペクティブに戻ります
    • リポジトリを右クリックして、プロジェクトをインポート...
    • [ 既存のプロジェクトをインポート]を選択します
    • 以下のエクスプローラーで、pom.xml(および.projectファイル)を含むディレクトリを参照して選択し、[次へ]をクリックします。
    • ウィザードを続行します。

Eclipse Lunaでは、ステップ1.2以降で機能しました(プロジェクトは最初のインポート後にGitに接続されました)。
PJ_Finnegan

4

Mylyn用の追加のコネクタをインストールせずにインポートします。

  1. 開いた Git Repositoriesビューを(ウィンドウ->ビューの表示-> Gitリポジトリ)
  2. 押す Clone a Git Repositoryボタンとすべてのステップに進みます
  3. 新しく作成したリポジトリを展開Working Directoryし、プロジェクトのあるフォルダーを右クリックして、を選択しますImport Projects。次にImport existing projects、またはを選択しますImport as general project。インポートした後、必要に応じてプロジェクトを右クリックし、[構成]-> [Mavenプロジェクトに変換](および[Maven]-> [プロジェクトの更新])を選択します。

3

生成されたメタデータをバージョン管理下に置くこと(gitまたはその他のscmにする)は、コードベースに取り組んでいる開発者が複数いる場合はあまり良い考えではないことに注意してください。2人の開発者が、まったく異なるプロジェクトまたはクラスパスを設定している場合があります。いつかコードを共有するつもりの場合に備えて...


2

gitで管理される3つのサブモジュールを持つMavenプロジェクトがあります。私はそれらを日食で次のように設定しました:

  1. EGitを使用してgitリポジトリをeclipseに登録しました
  2. プロジェクトを既存のMavenプロジェクトとしてインポートしました
  3. プロジェクトごとに、チームに参加しましたプロジェクトの共有

1

プロジェクトをEclipseにmavenプロジェクトとしてインポートするのではなく、gitプロジェクトます。これを行っても、プロジェクトのコンテンツはgitのコンテンツとして認識されます。Eclipseから引き続きgit操作を実行できます。あなたが述べたように、逆は真実ではありません。

Eclipseでのプロジェクトの性質は、プロジェクトを保持するSCMではなく、プロジェクトのタイプ(戦争またはjarなど)に基づいています。これは、プロジェクトがmavenプロジェクトとしてインポートされるときに自動的に決定されます。

SCM IDE固有のメタデータにチェックインするのをためらいます。そうすることは多くのことを前提としています-すべての開発者は同じIDEまたはIDEのバージョン、おそらく同じバージョンのJDK / JREを使用しており、プロジェクトのライフサイクルを通じて同じバージョンを使用し続けます。


1

それをgitプロジェクトとしてインポートできないので、 m2eclipseをインストールして)でプロジェクトを右クリックしてパッケージ・エクスプローラー > Maven> Enable Dependency Management


1
表示されず、m2eがインストールされている場合は、.projectファイルを開いて、自分でmaven2ネイチャーを追加します。<name> org.eclipse.m2e.core.maven2Builder </ name>
dimitrisli

1

Egitで自分のブランチをチェックアウトした後、Javaビューに切り替えて、[ファイル]-> [インポート]、[Git]-> [Gitからのプロジェクト]を使用して、最上位のmavenディレクトリを選択しました。これはEclipse Keplerでのことです。


-3

import-> mavenコマンドでプロジェクトメタデータを常に生成する代わりに、プロジェクトメタデータを一度生成して、残りのソースコードとともにgitリポジトリに配置できます。その後、mavenツールがインストールされていると仮定して、import-> gitコマンドを使用すると、適切なmaven対応プロジェクトがインポートされます。

プロジェクト管理ディレクトリ内の「。」で始まるすべてのファイルをソース管理システムに配置してください。.settingsディレクトリのコンテンツ全体に加えて、.classpathや.projectなど。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.