Antに変わるビルドツールMaven2の解説です。速い、簡単が売りです。詳細については、下記の資料を参照してください。
以下のサイトからダウンロードできます。
$ M2_HOME=/usr/local/maven-2.0
$ PATH=${PATH}:${M2_HOME}/bin
$ mvn archetype:create -DgroupId=org.ultimania.sample \
-DartifactId=sample
| パラメータ | 説明 |
| groupId | パッケージ名 |
| artifactId | モジュール名 |
| packaging | パッケージ形式(pom,war,ear,jar) |
例えば、jarを指定すると、次のようなディレクトリ、ファイルが生成されます。
+sample
+pom.xml
+src
+main
+java
| +org
| +ultimania
| +sample
| +App.java
+test
+org
+ultimania
+sample
+AppTest.java
$ m2 archetype:create -DgroupId=org.ultimania.sample \
-DartifactId=sample \
-DarchetypeArtifactId=maven-archetype-webapp
ディレクトリ構成は、下記の通り
+sample/
+pom.xml
+src/
+main/
+java/ Javaクラス
+webapp/ JSP/web.xml等
| +WEB-INF/
| +web.xml
+resources/ プロパティファイル、DTD、XML等
javaディレクトリは作成されないので、自分で作成する必要あり。
packageコマンドを利用してwar、jarを生成する。
$ mvn package
Mavenリポジトリで配布されていないjarをインストールするには、次のようにする。
$mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \ -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
例えば、次のような感じ。
$mvn install:install-file -Dfile=ejb3-persistence.jar -DgroupId=ejb3persistenceapi \ -DartifactId=ejb3-persistence-api -Dversion=3.0 -Dpackaging=jar
パッケージでzip等を利用したい場合は、assembly.xmlを記述する。
ファイルをリポジトリにアップロードするには、pom.xmlに次のように記述します。
<distributionManagement>
<repository>
<id>my-repository</id>
<url>scp://tidus.ultimania.org/maven/repository</url>
</repository>
</distributionManagement>
また、~/.m2/settings.xmlに次のようにサーバの設定を記述します(Windowsの場合、デフォルトではC:\Documents and Settings\<ユーザ名>\.m2/settings.xmlになります)
<?xml version='1.0' encoding='utf-8' ?>
<settings>
<servers>
<server>
<id>my-repository</id>
<username>tidus</username>
<password>パスワード</password>
</server>
</servers>
</settings>
次のように実行するとアップロードされます。
$ mvn deploy
servlet-api.jarやejb.jar等、コンパイル時には利用したいが、配布時には含めたくないjarファイルがある場合は、scopeにprovidedを指定する。
<dependencies>
<dependency>
<groupId>tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>5.5.16</version>
<scope>provided</scope>
</dependency>
</dependencies>
プロキシを利用する場合は、~/.m2/settings.xmlに下記のような設定を記述する。
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<proxies>
<proxy>
<active/>
<protocol>http</protocol>
<username>toraneko</username>
<password>mypasswd</password>
<port>8080</port>
<host>proxy.yourcompany.com</host>
<id/>
</proxy>
</proxies>
</settings>