home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2012/03/11/Eclipse3.7(Indigo)とm2eにMavenプロジェクトをインポートするメモ

日記/2012/03/11/Eclipse3.7(Indigo)とm2eにMavenプロジェクトをインポートするメモ

日記 / 2012 / 03 / 11 / Eclipse3.7(Indigo)とm2eにMavenプロジェクトをインポートするメモ
id: 1065 所有者: msakamoto-sf    作成日: 2012-03-11 17:30:18
カテゴリ: Eclipse Java Maven Subversion 

日記/2012/03/10/Eclipse3.7(Indigo)でMavenとSubversion環境セットアップメモ ではEclipseにMavenプラグインを導入し、既存のEclipse用Mavenプロジェクトをインポートするところまでを解説しました。
今回は、素のMavenプロジェクトをEclipseのプロジェクトに取り込む方法をメモ。ここで言う「素のMavenプロジェクト」というのは、".project"や".classpath"ファイル, ".settings"ディレクトリなどが作成されていない、Eclipseプロジェクトとは認識されないファイルセットを指します。
ということで、今回は myart3 という以下の構造のMavenプロジェクトを「Eclipse化」してみます。

/work/tmp/mvntest/myart3/
    pom.xml
    src/main/java/foo/bar/App.java
    src/test/java/foo/bar/AppTest.java

※今回は "Maven Eclipse Plugin" ( http://maven.apache.org/plugins/maven-eclipse-plugin/ ) は取り上げません。また、マルチモジュール化されたMavenプロジェクトの取り込みについてはまたの機会に。

1. SCMに登録してない素のMavenプロジェクトをEclipse化する

まずEclipseのインポートメニューからMavenの "Existing Maven Projects" を選択します。

続いてpom.xmlのあるディレクトリを"Root Directory"として選択すると、自動的にインポートするプロジェクトがリストアップされます。

インポートに完了後、Eclipseのナビゲータビューで確認すると".project", ".classpath", ".settings" が作成されています。

プロジェクトのプロパティから場所を確認:

".classpath"を覗いてみると、m2e専用のコンテナが設定されていることを確認できます:

$ cat .classpath 
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
	<classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	<classpathentry kind="output" path="target/classes"/>
</classpath>

2. SCM上から素のMavenプロジェクトをインポート("Check out Maven Projects from SCM"版)

SCM上に素のMavenプロジェクトが登録されている状態で、それをチェックアウト。
今回はローカルのSubversionリポジトリで以下を用意し、その直下にmyart3をコミットしています。

file:///work/SVNREPOS/test1

まずはインポートメニューからMavenの"Check out Maven Projects from SCM"を選択します。ちなみにこのメニューは、すでにEclipseプロジェクト化されたMavenプロジェクトをSCMからチェックアウトする場合も利用できます。
SCM URLでSubversionのローカルリポジトリを指定しています:

locationなどカスタマイズできます。何も入力しないデフォルトのままインポートすると、Eclipseのナビゲーションビューで以下のように".project"などのファイル・ディレクトリが作成されたことが確認されました。

一方で、以下のように"maven"で始まる適当なディレクトリにチェックアウトされてしまいましたので注意が必要です。


3. SCM上から素のMavenプロジェクトをインポート("Existing Maven Projects"版)

予めsvnコマンドやTortoiseSVN等でローカルにチェックアウトしておきます。
今回は以下のディレクトリにチェックアウトしました:

$ pwd
/work/tmp/mvntest/test1/myart3
$ svn info
Path: .
URL: file:///work/SVNREPOS/test1/myart3
Repository Root: file:///work/SVNREPOS/test1
...

EclipseのインポートメニューからMavenの "Existing Maven Projects" を選択し、チェックアウトした素のMavenプロジェクトのディレクトリを "Root Directory" に設定します。以降は 1. の時と同じです。
EclipseのSubversiveプラグインの方で ".svn" を認識してくれますので、 "2." と同様にSubversionの機能も利用できます。

この手順であれば、"2."のような"maven...."の中にチェックアウトされるようなことも無いので、こちらを個人的にはお勧めします。


プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2012-03-11 18:40:07
md5:6d3bb341cf6d6b44b6ff95bbd87303e3
sha1:63f1c1bd172ec9cb5daef362ac3bbc87e4e15201
コメント
コメントを投稿するにはログインして下さい。