kagamihogeの日記

kagamihogeの日記です。

Eclipse 3.7 で Maven 使えるようになるところまでの設定

20130131追記

Eclipse 4.2でMaven使えるようになるところまで - kagamihogeのblogに画面キャプチャを増やした手順を書いた。

20120114追記

を見ると「m2eclipseは、Eclipseプロジェクトに統合され、m2eという名称に変わっています。」「Eclipse 3.7以降であれば、m2e はEclipse Marketplace経由で簡単にダウンロードできます。」とあるので、そちらをやってみる。

eclipse 3.7(Java EE Developers)を使用してやりました。

Help -> Eclipse Market を選ぶ。下記の画面が出てくるので、Findに「m2e」と入力して検索。

どれ選んでも大して変わりない気がするが、後々のことを考え俺の環境では「Maven Integration for Eclipse WTP」のInstallボタンを押す。

しばらく下記の画面が表示され諸々のダウンロードが行われる。それにしてもサイトはjboss.orgなのか。

おわるとライセンス確認の画面が出るので、I accept .. にチェックを入れて完了。

これで New -> MavenMavenプロジェクト作れたりできるようになる……ってすごいカンタンになったものだなぁ……

20120114追記まえの内容

Eclipse から Maven 使う設定などについてメモ。

なんだか果てしなくイマサラな感のある内容ではありますが…… eclipse 3.7 おっことしてくるにあたってプラグインなど入れ直ししたので、そんときのメモを残してるだけです。

まず m2eclipseプラグインを入れる。

Maven - EclipseWiki

Help -> Install New Software で http://m2eclipse.sonatype.org/sites/m2e と入れるだけで基本的におk。この方のメモ を見るに、URL はちょくちょく変わっているようなので、実作業するときは eclipse wiki などを要確認かも。

コレで再起動すると m2eclipse が下記のような内容のダイアログで警告を出してくる。

The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDK.(以下略)

警告の内容は、見て読んで通り。(以下略)の部分には「eclipse.ini で -vm で jre じゃなくて jdk を指定してね」といったようなことが書かれている。

ここでて軽くはまったのだが、eclipse.iniで-vm引数設定する場合、改行が必要で-vmargsよりも上に書く - メモス\(^o^)/ とか今知った。ウチのローカルマシンはいっつも eclipse の起動パラメータに直接 -vm 指定してたからだなぁ…

これで、New -> Maven 等から Maven 関連の作業が出来るようになる。Maven プロジェクトを作るなり、プロジェクトに pom.xml ファイル作るなりすればおk。ただ、後から pom.xml 入れる場合*1とプロジェクト構成を Maven に従ったものに変えるためにビルドパスとかをチクチクと変えないといけないので面倒である。pom.xml の設定で変えられるのかもしれないが、規約に従ったほうが良いであろう。

以上で準備は整ったので、試しに pom.xml に commons-lang の dependency を追加してみる。下記は http://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.0 からコピペしたもの。


org.apache.commons
commons-lang3
3.0

*2

pom.xml を保存すると、Eclipse 上からは Maven Dependencies に jar が追加される。jar は自動でダウンロードされて、パスも通った状態になるので、あとはフツーにソースを書くだけ。

Maven で落っことしてきた jar の中のクラスのソースが見たくなったら、Open Declaration(Ctrl + クリックとか F3 とか)をすると、最初はソースないよーんって怒られるけど、しばらくすると勝手にソースコードをダウンロードしてきて、見れるようになる。でもコレはきっと pom.xmlSVN のパスとかが書いてあるヤツじゃないとダメだろうね。


おまけ - Checkout Maven Projects from SCM を試す

Maven の Wizard を見ると Checkout Maven Projects from SCM なんていう便利そうなものがあるじゃーん? てことでコレも試すことに。

まず、SCM Type とやらが無いとかで動かない。ここ によると http://m2eclipse.sonatype.org/sites/m2e-extras から Subclipse 用の SCM Handler プラグインなるものをインストールせよとのことなので、入れる。

URL を入れて Browse を押しても何も起きない……ので、先に SVN リポジトリビューで https://src.springframework.org/svn/spring-webflow/ とかテキトーに入れてみると、出てきた(ような気がする) ので、あらためて trunk https://src.springframework.org/svn/spring-webflow/trunk を選んで終了。ソースの checkout が始まり、そのあとに Maven が jar をドバドバーとダウンロードしてきて、ビルド完了。

checkout して Maven でビルドしてるだけのような気がしないでもないが……pom.xml が書いてあればぽちぽちーってやってくだけで開発環境の構築終わりますよー、ってのを目指してる感じなんですかね?

*1:手動で pom.xml ファイル追加するとか、プロジェクト右クリックで Maven -> Enable Dependency Management をクリックすると自動で pom.xml が追加される

*2:余談だが、commons-lang は 2.6 と 3.0 で groupId と artifactId も別になってる。2.6 を 3.0 に変えてなんで動かないんだー? とか悩んだ