山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

maven

eclipsemavenプラグイン(m2e)が入って

だいぶ簡単にmavenが使えるようになりました。

今日やってみた流れを紹介します。


まず新規プロジェクトを作成。

パッケージエクスプローラーで

右クリック→New→Other→Maven Project

今回は簡単なコマンドラインプログラム

だったのでCreate a simple projectに

チェックを入れました。

Use default Workspace locationのところに

出ているロケーションがなぜか他の

プロジェクトのパスになっていたので

ワークスペースのパスに直します。

Group Idにはパッケージ名、Artifact Idには

プロジェクト名を入れます。

(本当の意味は別にありますが説明を簡単に

しています)


プロジェクトができたら使いたいライブラリ

を追加しましょう。

pom.xmlを開きます。

私の場合AndroidXMLエディタで開いて

しまったので

右クリック→Open With→Maven POM Editor

としました。

下の方の「Dependencies」タブをクリック。

Dependenciesの下の「Add」をクリック。

ライブラリを文字列検索して追加します。

これがとても便利です。

pom.xmlを保存すると依存関係を自動的に

調べて必要なライブラリと関連する

ライブラリをダウンロードしてくれます。


次にプログラムを作ります。

src/main/javaの下にJavaクラスを作ります。


プログラムができたらeclipseの外で

実行できるようにします。

関連ライブラリ全部にクラスパスを

通さないといけないのでそのままで

javaコマンドでは動きません。

pom.xmlmaven jar pluginの定義を

追加。

の上に以下のような

定義を入れます。

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.oisix.domo.FileCollector</mainClass>
<packageName>com.oisix.domo</packageName>
<addClasspath>true</addClasspath>
<addExtensions>true</addExtensions>
<classpathPrefix>dependency</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>

<mainClass>にはmainメソッドを含む

クラス名を記述します。

プロジェクトを右クリックして

Run As→Run Configurations

Goalsに「package」と入れて「Run」

これでjarファイルがtargetの下にできます。

もう一度プロジェクトを右クリックして

Run As→Run Configurations

Goalsに「dependency:copy-dependencies」と入れて

「Run」

これでtargetの下に依存ライブラリが

コピーされます。

これでコマンドラインなどで

java -jar できたjarファイル

とすれば見事に動きます。


jarファイルとdependencyディレクトリの

位置関係を保ったまま動かせば

ファイルを移動させても動くようです。