Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  wikifarm  Login

CookBook

インストール

Maven2をインストールする

既にJava環境(1.4以上)をインストールしているものとする。

http://maven.apache.org/download.html より magnoto

  • maven-2.0.X-bin.tar.bz2
  • maven-2.0.X-bin.tar.gz
  • maven-2.0.X-bin.zip

のどれか1つをダウンロードし適当な解凍ソフトで展開する。展開後のmaven-2.0.Xディレクトリを任意の場所に置く。(例えばWindowsであればC:\maven-2.0.4、Unixであれば/usr/local/maven-2.0.4)

Windowsの場合、エクスプローラよりマイコンピュータを右クリック->プロパティを選択し、システムのプロパティより詳細にて[環境変数(E)...]ボタンを押して、ユーザ環境変数を新規作成する。作成する変数名はPath、値はC:\maven-2.0.4\bin;%PATH%とする。(インストールディレクトリがC:\maven-2.0.4だった場合)

Unixの場合、環境変数PATHにmavenのbinまでのパスを追記する。例えばbashの場合、~/.bashrc

export PATH=/usr/local/maven-2.0.4/bin:$PATH

と追記して(無ければ新規作成する)保存し、

source ~/.bashrc

とコマンドする。

Maven2が正常にインストール出来ているか、を確認する

正常にインストールされているかを確認するため、

mvn --version

とコマンドを実行する。(Windowsの場合コマンド プロンプトより実行)

Maven version: 2.0.X

と出力すれば、インストールは完了。

プロジェクトの作成

プロジェクトを新規作成する Klikoffice.co.id Belanja Online Peralatan dan Perlengkapan Kantor

mvn archetype:create -DgroupId=グループ名 -DartifactId=プロジェクト名

groupIdには com-example-function 等のようにグループ名を指定する。

コマンドを実行したディレクトリにartifactIdで指定したプロジェクトディレクトリが作成される。

Webアプリケーション(WAR)のプロジェクトを作成する

mvn archetype:create -DgroupId=グループ名 -DartifactId=プロジェクト名 -DarchetypeArtifactId=maven-archetype-webapp

mvn archetype:create コマンドにて、archetypeArtifactIdの指定に応じてプロジェクトのテンプレートが作成される。サポートされているarchetypeArtifactIdは

http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-bundles/

を参照。

maven-archetype-j2ee
earをターゲットとする開発
maven-archetype-mojo
Maven2プラグイン開発用
maven-archetype-portlet
Jetspeedを利用したポータルアプリケーションの開発用
maven-archetype-profiles
品質管理、プロファイリング用(?)
maven-archetype-quickstart
jarをターゲットとする開発用
maven-archetype-site
Webサイトの開発用
maven-archetype-webapp
warをターゲットとする開発

プロジェクトの設定

pom.xmlの構造を理解する

pom.xmlがサポートする全設定内容は以下のページを参照。

http://maven.apache.org/maven-model/maven.html

Maven2のディレクトリ構造を理解する

Maven2が推奨するプロジェクトのディレクトリ構造は以下の通り。

src/main/java
Javaソース
src/main/resources
ソース以外のアプリケーションに必要なファイル(*.properties等)
src/main/filters
ATDK
src/main/config
設定ファイルなど
src/main/webapp
Webアプリケーションファイル(WARプロジェクトのみ)。直下にWEB-INFがある。
src/test/java
ユニットテスト
src/test/resources
ユニットテスト時に利用されるリソースファイル。デプロイ時には適用されない。
src/test/filters
ユニットテスト時に利用されるフィルタ。デプロイ時には適用されない。
src/site
プロジェクト用Webサイトの構築時に利用されるファイル

上記のディレクトリ構造を無視してカスタムに設定することも不可能ではないが、出来る限り従った方が賢明。

暗黙の設定も含めたpom.xmlの内容をダンプする

Maven2のルールでJavaソースの場所はsrc/main/javaとなっているが、デフォルト設定であるためpom.xmlには書かれていない。このような暗黙の設定も含めた完全なpom.xmlを出力するには、

mvn help:effective-pom

を実行する。

WebアプリケーションプロジェクトにJavaソースディレクトリを追加する

maven-archetype-webappで作ったプロジェクトではsrc/main/javaディレクトリ(通常のJavaソースを格納)は作成されず、src/main/resourcesしかビルドパスが通っていない。

JavaWorldの記事ではwarプロジェクトとJavaプロジェクトの複数プロジェクトを管理している為、どうやらこういうポリシーのよう。ただ、1つのプロジェクトで完結させたいという人は多いと思われるため以下にその方法を示す。

pom.xmlbuildタグ内にsourceDirectorytestSourceDirectoryを追記する。

<build>
  <finalName>プロジェクト名</finalName>
  <sourceDirectory>src/main/java</sourceDirectory>
  <testSourceDirectory>src/test/java</testSourceDirectory>
</build>

記述後、src/main/javasrc/test/java(、src/test/resources)ディレクトリを手動で作成する。

Maven centralリポジトリ以外で提供されている依存ライブラリを設定する

デフォルトのリポジトリ(central)である http://repo1.maven.org/maven2/ には数多くのライブラリが提供されているが、他リポジトリで提供されているライブラリを依存関係として設定する場合の方法について示す。

pom.xmlrepositoryとしてリポジトリを設定する。以下はSeasarファウンデーションのリポジトリ設定。

<project>
.
.
.
 <repositories>
   <repository>
     <id>maven.seasar.org</id>
     <name>The Seasar Foundation Maven2 Repository</name>
     <url>http://maven.seasar.org/maven2</url>
   </repository>
 </repositories>

後は他の依存ライブラリと同様、dependencyを記述する。

<project>
.
.
.
  <dependencies>
    <dependency>
      <groupId>org.seasar.struts</groupId>
      <artifactId>s2-struts</artifactId>
      <version>1.2.6</version>
      <type>jar</type>
    </dependency>
  </dependencies>
</project>

サードパーティのJarをインストールする

Mavenリポジトリで提供されていないサードパーティのJarをローカルリポジトリにインストールする。対象のJarをあらかじめダウンロードしておき、以下のコマンドを実行する。

mvn install:install-file -Dfile=jarまでの絶対パス -DgroupId=<group-id> -DartifactId=<artifact-id> \
-Dversion=バージョン -Dpackaging=jar -DgeneratePom=true

例えば、C:\foo\hoge.jar をgroupId=hoge、artifactId=hoge、バージョン1.0としてインストールするには

mvn install:install-file -Dfile=C:\foo\hoge.jar -DgroupId=hoge -DartifactId=hoge \
-Dversion=1.0 -Dpackaging=jar -DgeneratePom=true

と実行する。

また、最後のgeneratePomパラメータを指定することで、pomファイルを自動的に作成する。ローカルリポジトリにpomファイルが無いと、mvnで何かするたびに(リモートリポジトリまでpomファイルを探しに行って)以下のような警告文が出てしまう。

Downloading: http://repo1.maven.org/maven2/hoge/hoge/1.0/hoge-1.0.pom
[WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2)

デプロイ時には含めたくない依存ライブラリを設定する

servlet-api.jarなどのようにコンパイル時には必要だがデプロイ時には必要ないライブラリは pom.xmlに以下のように記述する。

<project>
.
.
.
  <dependencies>
    <dependency>
      <groupId>tomcat</groupId>
      <artifactId>servlet-api</artifactId>
      <version>5.5.12</version>
      <scope>provided</scope>
   </dependency>
  </dependencies>
</project>

scopeには以下の値が設定できる。

compile
デフォルト
provided
コンパイルに使用するが、デプロイ時には含めたくない場合。例えばservlet-api.jar
runtime
コンパイルに使用せず、実行時にのみ必要とする場合。例えばJDBCドライバlog4j/logbackなどのログ実装(commons loggingやslf4jはcompileにする)。
test
テスト時にのみ必要とする場合。例えばJUnit
system
providedに似ている。systemPathタグでJarまでのパスを記述する必要がある。例えばJDBC標準拡張やJAASに利用する。

ライブラリを最新バージョンに保つようにする

依存ライブラリにてマイナーバージョンアップが行われた場合、常に追従するように設定することが出来る。

<project>
.
.
.
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>[1.2,)</version>
    <scope>runtime</scope>
  </dependency>

上記例では1.2系でバージョンが上がった場合(例:1.2.8 -> 1.2.9)、mvnコマンド実行時に最新バージョンを取得する。

ビルド&テスト

コンパイルする

カレントにpom.xmlのある状態で

mvn compile

を実行する。実行すると、まずコンパイルに必要なjarファイルが無ければダウンロードを行い、 src/main/java 以下にあるJavaファイルがコンパイルされる。classファイルは target/classes 以下に出来る。

J2SE 5.0でコンパイルする

maven-compiler-pluginを用いて、設定にバージョンを記述する。

pom.xmlbuildタグ内に以下の内容を追記する。

<build>
.
.
.
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.5</source>
        <target>1.5</target>
      </configuration>
    </plugin>
  </plugins>
</build>

テストする

カレントにpom.xmlのある状態で

mvn test

を実行する。実行すると src/test/java 以下の

  • **/*Test*.java
  • **/Test*.java
  • **/*TestCase?.java

にマッチするファイルをJunitのテストとして実行する。なお

  • **/Abstract*Test.java
  • **/Abstract*TestCase?.java

はデフォルトで無視する。

ビルド時、テストフェーズをスキップする

mvnコマンドに、 -Dmaven.test.skip=true を加える。

また、settings.xmlに定義して常にテストフェーズをスキップする。

<settings>
.
.
.
   <profiles>
     <profile>
       <id>notTest</id>
       <properties>
         <maven.test.skip>true</maven.test.skip>
       </properties>
     </profile>
   </profiles>
   <activeProfiles>
     <activeProfile>notTest</activeProfile>
   </activeProfiles>
</settings>

テストの実行をskipする

mvnコマンドに -DskipTests?=true を加える。

http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html

  • -Dmaven.test.skip=true ... テストクラスをコンパイルしない。テストも実施しない。
  • -DskipTests?=true ... テストクラスをコンパイルする。テストは実施しない。

特定のクラスだけテストする

mvn test -Dtest=テストクラス名

mvn testコマンドに-Dtest=FooBarTest?のようにテストクラスを指定する。-Dtest=*UtilTest?,*DaoTest?のように、カンマ区切りの正規表現でも指定できる。

また、デフォルトのフィルタ設定を変更したい場合は、maven-surefire-pluginを利用して設定を記述する。pom.xmlに以下を追記。

<build>
.
.
.
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/*Test.java</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

JUnit 4でテストする

現在の所、maven-surefire-pluginはJUnit 4.xに非対応。@Testなどのアノテーションを認識しないため、例外をスローする場合のテスト等ができない(失敗する)。

筆者は試していないが、Maven JUnit4 plugin - Untoというプラグインがある(参考:星野正利の日記 - なんか中途半端)。

jar、war、earを作成する

カレントにpom.xmlのある状態で

mvn package

を実行する。実行すると target 以下に通常プロジェクトであればJar、Webアプリケーションであればwar、J2EEプロジェクトであればearが作成される。ファイル名にはpom.xmlに記述されたバージョン番号が付与される。ゴミが気になる人はmvn clean packageすると綺麗な状態でパッケージングされる。

設定によりリモート環境に作成することも出来る。

オフライン環境で実行する

mvnコマンドを実行するとその都度リポジトリにアクセスする為、オフライン時だと失敗してしまう。リポジトリにアクセスせずに実行するには

mvn -o package

のように-oを付ける。

プロジェクトページを構築する

カレントにpom.xmlのある状態で

mvn site

を実行する。target/site以下にHTMLなどのサイトコンテンツが生成される。

現状日本語に対応できていないので、時間を費やしたくない人は日本語サイトを作るのは止めた方が賢明。

レポートを作成する

ATDK

サイトをリモート環境にアップする

mvn site-deploy

を実行する。あらかじめpom.xmlには以下の内容を追記しておく。

<distributionManagement>
  <site>
    <id>website</id>
    <url>scp://www.mycompany.com/www/docs/project/</url>
  </site>
</distributionManagement>

上記ではscpにてwww.mycompany.comサーバの/www/docs/project/ディレクトリにアップロードする。

プロジェクトを掃除する

カレントにpom.xmlのある状態で

mvn clean

を実行する。target以下が削除される。

Jettyを起動する

maven-jetty-pluginを用いると、Tomcat等のServletコンテナを用意することなくServlet環境を実現できる。

pom.xmlbuildタグ内に以下の内容を追記する。contextPathにはアプリケーションのパスを記述する。(記述例だとhttp://localhost:8020/yourapp でアクセス出来る)

<build>
.
.
.
  <plugins>
    <plugin>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>maven-jetty-plugin</artifactId>
      <configuration>
        <contextPath>/yourapp</contextPath>
        <scanIntervalSeconds>10</scanIntervalSeconds>
        <connectors>
          <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
            <port>8020</port>
            <maxIdleTime>60000</maxIdleTime>
          </connector>
        </connectors>
      </configuration>
    </plugin>
   </plugins>
</build>

コンソールにて mvn jetty:runと実行すると、jettyが起動する。停止はCtrl + C等で。

デプロイ&リリース

FTPを使ってデプロイする

(参考)http://maven.apache.org/guides/mini/guide-deploy-ftp.html

pom.xmlにデプロイ情報を記述する。

<project>
.
.
 <build>
   <extensions>
     <extension>
       <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ftp</artifactId>
        <version>1.0-alpha-6</version>
     </extension>
   </extensions>
 </build>
.
.
 <distributionManagement>
   <repository>
   <id>ftp-repository</id>
   <url>ftp://repository.mycompany.com/repository</url>
   </repository>
 </distributionManagement>
.
.
</project>

次に、ホーム(Unixであれば/home/hoge、WindowsであればC:\Documents and Settings\hoge)の.m2ディレクトリ以下にsettings.xmlを作成しておく。

<?xml version="1.0" encoding="UTF-8"?>
<settings>
 <servers>
   <server>
     <id>ftp-repository</id>
     <username>ユーザ名</username>
     <password>パスワード</password>
   </server>
 </servers>
</settings>

pom.xmlのリポジトリIDとsettings.xmlのサーバIDを合わせておく(記述例ではftp-repository)。

またsettings.xmlに記述するパスワードは平文で記述するため、管理に注意しなければならない。

上記設定を行った後、

mvn deploy

を実行する。(または、mvn clean deploy)

scpを使ってデプロイする

上記のFTPを使ってデプロイするを参照した上で、pom.xmlsettings.xmlを設定する。

<project>
.
.
.
 <distributionManagement>
   <repository>
   <id>scp-repository</id>
   <url>scp://repository.mycompany.com/repository</url>
   </repository>
 </distributionManagement>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <servers>
    <server>
      <id>scp-repository</id>
      <username>ユーザ名</username>
      <privateKey>秘密鍵への絶対パス</privateKey>
      <passphrase>パスフレーズ</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
  </servers>
</settings>

Ant、IDEとの統合

Antのbuild.xmlを生成する

カレントにpom.xmlのある状態で

mvn ant:ant

を実行する。

EclipseにMaven2用の変数を追加する

M2_REPOというMaven2リポジトリのパスを表すクラスパス変数を追加する。

mvn -Declipse.workspace="C:/eclipse/workspace" eclipse:add-maven-repo

eclipse.workspace にはeclipseのワークスペースへのパスを指定する。

Maven2でEclipseプロジェクトを生成する

Maven2のコマンドにてEclipseでインポート可能なプロジェクトファイルを生成する。

mvn eclipse:eclipse

上記コマンドにて、Eclipseプロジェクトに必要な

  • .classpath
  • .project
  • .wtpmodules (Eclipse WTPプラグインで使用)

が作成される。

Eclipse上でpom.xmlを編集したその都度、mvn eclipse:eclipse を実行するとEclipseプロジェクトにも反映される。

mvn -DdownloadSources=true eclipse:eclipse

とするとsource.jarが登録されているものは、ダウンロードし.classpathファイルのsourcepathに追加してくれる。

Maven2でEclipseプロジェクト生成時、Builderを追加する

maven-eclipse-pluginを用いて任意のbuildcommandsprojectnaturesを設定する。、pom.xmlに以下を追記する。

<build>
.
.
.
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-eclipse-plugin</artifactId>
      <configuration>
        <buildcommands>
          <java.lang.String>org.eclipse.jdt.core.javabuilder</java.lang.String>
            <java.lang.String>org.maven.ide.eclipse.maven2Builder</java.lang.String>
          </buildcommands>
        <projectnatures>
          <java.lang.String>org.eclipse.jdt.core.javanature</java.lang.String>
          <java.lang.String>org.maven.ide.eclipse.maven2Nature</java.lang.String>
        </projectnatures>
      </configuration>
    </plugin>
  </plugins>
</build>

Eclipseプラグインをインストールする

EclipseでMaven2を操作するためのEclipseプラグインをインストールする。

アップデートサイトに http://m2eclipse.codehaus.org/ を指定してインストールする。

現バージョン(ver 0.0.4)でのサポートしている機能は

  • 既存Eclipseプロジェクトからpom.xmlを作成する
  • dependency(依存するJar)を追加する
  • Mavenタスクを実行する

など。

Eclipse上からMavenタスクを実行する

Eclipseのメニューより[Run]->[External Tools]->[External Tools...]を選択し、外部ツールウィンドウを表示させる。左にあるm2 buildを選択して[New]ボタンを押し新規外部ツール設定を行う。

eclipse-mvn-build.jpg

上記例ではどのプロジェクトでも使えるようにBase directory${project_loc}に設定している。Goalsには適当なタスク名を入力、または[Goals...]より選択する。

良く使うタスクはFavoritesに入れておくと良い(Commonタブの[Display in favorites menu]内の項目をチェック)。後は実行させたいプロジェクトを選んだ後、[External Tools]より作成したツールを選択する。

またExternal Toolsでmvn eclipse:eclipseを設定した際、[Goals...]ボタン下の環境変数設定欄にて Parameter Nameをeclipse.downloadSources、Valueをtrueという環境変数を追加しておくと、実行時に.classpathclasspathentrysourcepathが付加される。

Eclipse上から依存ライブラリを追加する

プロジェクトを右クリック->[Maven2]->[Add Dependency]を選択してリポジトリ検索ウィンドウを表示させる。[Query]にhibernate等のライブラリ名を入れると[Search Results]にヒットしたライブラリ群が出てくるので適当なバージョンを選択して[OK]を押す。

[OK]を押すとローカルリポジトリへのダウンロードが開始され、pom.xmlも更新される。.projectは更新されないため、別途mvn eclipse:eclipseを実行する必要がある。

現バージョン(ver 0.0.4)では、pom.xmlsettings.xmlにカスタムのリポジトリ情報を記述してもそこからは検索してくれない。(プラグイン自体にcentralリポジトリ情報をBerkley DBで持っており、サイトに接続しているわけではない?)

Netbeansモジュールをインストールする

http://docs.codehaus.org/display/MEVENIDE/MevenideNetbeans2.0

よりアーカイブをダウンロードしてインストールする。5.0以上に対応しており、4.1以下には対応していない。

固有の環境設定

settings.xmlを作成、編集する

settings.xmlには、pom.xmlでは記述しないそのマシン環境にのみ依存する設定を定義する。主にProxyやデプロイするリモート情報などを定義する。

settings.xmlはホーム(Unixであれば/home/hoge、WindowsであればC:\Documents and Settings\hoge)の.m2ディレクトリに置く。インストール時には作成されないため、無ければ新規作成する必要がある。

全般的なガイドはこちら。

http://maven.apache.org/settings.html

サポートする全設定内容は以下のページを参照。

http://maven.apache.org/maven-settings/settings.html

settings.xmlの内容をダンプする

暗黙の設定も含めた完全なsettings.xmlを出力するには、

mvn help:effective-settings

を実行する。

proxyを設定する

Maven2を実行する環境によっては、proxy経由でアクセスしないとインターネットへアクセス出来ない場合がある。その際、proxy設定をsettings.xmlに記述する。

<settings>
.
.
.
  <proxies>
    <proxy>
      <active/>
      <protocol>プロトコル(httpなど)http</protocol>
      <username>ユーザ名</username>
      <password>パスワード</password>
      <port>ポート番号(8080等)</port>
      <host>ホストURL</host>
      <id/>
    </proxy>
  </proxies>
</settings>

リポジトリのミラーを設定する

リポジトリが何らかの原因でアクセス出来ない場合のミラー先を設定する。例えばidがcentralである http://repo1.maven.org/maven2/ のミラーサイトを設定したい場合、settings.xmlに以下のように記述する。

<settings>
.
.
.
  <mirrors>
    <mirror>
      <id>dotsrc.org</id>
      <url>http://mirrors.dotsrc.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>ggi-project.org</id>
      <url>http://ftp.ggi-project.org/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>sunsite.dk</id>
      <url>http://mirrors.sunsite.dk/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>planetmirror.com</id>
      <url>http://public.planetmirror.com/pub/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>lsu.edu</id>
      <url>http://ibiblio.lsu.edu/main/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>ibiblio.net</id>
      <url>http://www.ibiblio.net/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

Maven 1からの移行

ATDK

Continuumの利用

Continuumをインストールする

既にJava環境(1.4以上)をインストールしているものとする。とりあえず動かしたいだけであればMavenをインストールする必要はない。

基本はアーカイブをダウンロードして任意の場所に展開するのみ。

http://maven.apache.org/continuum/download.html より

  • continuum-1.0.X-bin.tar.bz2
  • continuum-1.0.X-bin.tar.gz
  • continuum-1.0.X-bin.zip

のどれか1つをダウンロードし適当な解凍ソフトで展開する。展開後のcontinuum-1.0.Xディレクトリを任意の場所に置く。(例えばWindowsであればC:\continuum-1.0.3、Unixであれば/usr/local/continuum-1.0.3)

Continuumを起動する

Continuumには既にサーブレットコンテナ(Jetty)が組み込まれているため、ApacheやTomcat等のサーバを用意する必要はない。インストールディレクトリ(CONTINUUM_HOME)のbinディレクトリ以下に

  • linux/run.sh
  • macosx/run.sh
  • solaris/run.sh
  • win32/run.bat
  • plexus.bat
  • plexus.sh

がある。各プラットフォームに合わせて起動スクリプトを実行する。どのプラットフォームにも当てはまらない場合はplexus.shを実行する。

ポートを変えてContinuumを起動する

デフォルトでは8080ポートで起動する。既に利用している場合はポート番号を変えて起動させる必要がある。

CONTINUUM_HOME/apps/continuum/conf/application.xml

             <http-listener>
               <port>8080</port>
             </http-listener>

を任意の番号に変更する。他にXML-RPC通信に8000を利用するので、こちらも競合している場合は変更する。

Mavenプロジェクトを追加する

ATDK

Antプロジェクトを追加する

ATDK

Shellプロジェクトを追加する

ATDK

スケジュールを追加する

ATDK

ビルド結果をメール通知する

ATDK

ビルド結果をメッセンジャー通知する

ATDK

プラグイン

プラグインを設定する

プラグインの設定は、pom.xml に以下のように記述する。

<build>
.
.
  <plugins>
    <plugin>
      <groupId>com.hoge</groupId>
      <artifactId>hoge-plugin</artifactId>
      <version>1.0.0</version>
      <configuration>
        <!-- プラグイン毎の設定を書く -->
      </configuration>
    </plugin>
  <plugins>
</build>

なお、Maven3から plugin に version が無い場合に警告されるようになった。また、plugin の version は範囲指定("(1.0,2.0]"など)できない。

ビルド中の任意のタイミングでプラグインを実行する

plugin の execution に実行したい phase と実行する goal を書くことで、ビルドライフサイクル中の各フェーズでプラグインを実行させることができる。

<build>
.
.
  <plugins>
    <plugin>
      <groupId>com.hoge</groupId>
      <artifactId>hoge-plugin</artifactId>
      <version>1.0.0</version>
      <executions>
        <execution>
          <id>exec-hoge</id>
          <phase>validate</phase>
          <goals>
            <goal>do</goal>
          </goals>
          <configuration>
            <!-- phase 毎のplugin設定 -->
          </configuration>
        </execution>
      </executions>
    </plugin>
  <plugins>
</build>

プラグインの依存ライブラリのバージョンを指定する

plugin の dependencies で、そのプラグインが依存しているライブラリのバージョンを変更することができる。

<build>
.
.
  <plugins>
    <plugin>
      <groupId>com.hoge</groupId>
      <artifactId>hoge-plugin</artifactId>
      <version>1.0.0</version>
      <configuration>
        <!-- プラグイン毎の設定を書く -->
      </configuration>
      <dependencies>
        <depenency>
          <groupId>com.hoge</groupId>
          <artifactId>foo-plugin</artifactId>
          <version>1.2.3-SNAPSHOT</version>
        </dependency>
      </dependencies>
    </plugin>
  <plugins>
</build>

Lang 2014/2015 Sponsor Partner inc by Prediksi Bola | Agen Bola

Last modified:2015/03/02 12:41:13
Keyword(s):[maven]
References:[FrontPage]