Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Maven基礎
2013/9/30
株式会社アークシステム
瀧口 季男
Mavenって?
Apache Maven is a software project
management and comprehension tool.
Based on the concept of a project
object mo...
Javaでコンパイル
~どうやるんだっけ?~
javacって、ありましたよね?
コンパイル?
javac -cp lib/foo.jar;lib/baa.jar;lib/poo.jar
-source 1.5 -target 1.5 -d classes
src/com/example/f...
Ant
~それは革命~
さよならシェルスクリプト
build.xmlを書いておけば、ant compile
でコンパイルできる!
<project name="hoge" default="jar" basedir=".">
<target name="compile...
Antがあってよかったなって
Write once, build anywhere!
ビルドに必要なソース、依存JAR、
build.xmlとAntが一式あれば、Windowsで
もLinuxでもビルドできる!
パーキンソンの法則
仕事は、その遂行のために利
用できる時間をすべて埋める
ように拡大する
Antあるある
オレオレbuild.xml
「私のプロジェクトでは、モジュール名をソー
スディレクトリ名とする キリッ」

依存JARが増えると・・・
いちいちサイト巡ってダウンロードするのめん
どくせ (‘A`)
SCMにJARを全部コミット...
ヒックの法則
意思決定にかかる時間は、可
能な選択肢の数に依存する
じゃ、決めちゃおうぜ
プロジェクトのディレクトリ構成
決めても従わない奴ばかりだとしても、もし最初
からディレクトリ構成を作ってくれるとした
ら?

依存jarの解決
あちこち探してダウンロードするんじゃなくて、
1箇所に集まってたら?さらに、...
__ __
| ¥/ |__ _Apache__ ___
| |¥/| / _` ¥ V / -_) ' ¥ ~ intelligent projects ~
|_| |_¥__,_|¥_/¥___|_||_| v. 1.0.2

~ビルドツー...
ディレクトリ構成決めました
これで行くから。
[basedir]
├ pom.xml
├ src
│ ├ main
│ │
├ java
│ │
└ resources
│ └ test
│
├ java
│
└ resources
└ tar...
JARのリポジトリ作りました
セントラルリポジトリにたくさんのJARを集めて公
開するよ
個々のJARを識別する仕組みも考えたよ
groupId、artifactId、versionで特定するよ
依存するJARを設定ファイルに書いて明確化できる...
ビルドの流れを決めました
Clean

Site

validate

pre-clean

pre-site

compile
Build Lifecycle

Default

clean

site

test

post-clean

...
ここまでのまとめ
javacからAnt
ビルドの定型化、環境非依存化
開発が大規模化するにつれ、冗長なところ
が多くなった

AntからMaven
ビルドの普遍化、環境の統一化
Mavenがうごくしくみ
~Goal & Lifecycle~
Maven本体とゴール
Maven本体の機能
POM(後述)の解析
ライフサイクルの各フェーズに結びつい
たゴールの実行

ゴール
ビルドの個々のタスク。コンパイル、JAR
作成、ファイルのコピーなどなど。
ゴールは全てプラグインが提供する
Goalの実行
個々のプラグイン名:ゴール名で、1
個のゴールを実行する
compiler
:compile

> mvn

compile

Maven

dependency

resolve
copy
list

compiler

co...
Phaseの実行
ライフサイクル中の指定したPhaseま
で、各Phaseに紐付いたゴールを実行
する
各Phaseに結びつ
resolve
いたGoalを実行

> mvn
test

dependency

Maven
validate
c...
実行の仕方
mvn [options] [<goal(s)>] [<phase(s)>]

Goal
Mavenに実行させたいタスクの指定
[プラグイン名]:[ゴール名]で指定する
mvn compiler:compile
mvn jar:ja...
Mavenの設定
~POM~
POM “Project Object Model”
プロジェクト情報をXMLで記述する
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.o...
dependencies
プロジェクト依存ライブラリの設定
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>hoge</artifactId>
<ve...
build
ビルドに関する設定(プラグイン等)
<build>
<defaultGoal>validate</defaultGoal>
<resources>
<resource>…</resource>
</resources>
<plugi...
build - plugin
ビルドにプラグインを追加
<plugin>
<groupId />
<artifactId />
<version />
<configuration>…</configuration>
<executions>
...
parent (Super POM)
親POMの設定
<parent>
<groupId>com.example</groupId>
<artifactId>hoge</artifactId>
<version>1.0.0</version>
...
build - pluginManagement
プラグインの一括管理
<pluginManagement>
<plugins>
<plugin>…</plugin>
</plugins>
</pluginManagement>

親POMに書...
dependencyManagement
依存ライブラリの構成管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId />
<artifactId />
<version /...
profile
環境に応じて設定を切り替えるしくみ
<profiles>
<profile>
<id>production</id>
<activation>…</activation>
<build>…</build>
<dependenci...
Mavenを使う人が知っておく
べき97のこと
M2_HOME
Mavenインストールディレクトリを指
す環境変数
Mavenの実行には、%M2_HOME%の設
定と、%M2_HOME%/bin をPATHに通
す必要がある
ローカルレポジトリ
Mavenが自動でダウンロードしたJAR
(依存関係、プラグイン)が格納され
るディレクトリのこと
[ユーザーのホームディレクトリ]/.m2
リポジトリのミラーを設定する
セントラルリポジトリにあるはずなの
にJARがダウンロードできない!
セントラルリポジトリが落ちてた
よ・・・

そんなときは
ホームディレクトリの.m2/settings.xmlで
ミラーを設定する <setti...
リポジトリを追加する
セントラルリポジトリに無いライブラ
リ(Seasar、JBoss、etc…)を利用す
る場合は、リポジトリの設定をPOMに
追加する
<repositories>
<repository>
<id>maven.seasar...
プラグインリポジトリを追加する
ビルドで使用するプラグインがセント
ラルリポジトリに存在しない場合は、
プラグインリポジトリの設定をPOMに
追加する
<pluginRepositories>
<pluginRepository>
<id>ma...
良く使うフェーズ
clean

targetディレクトリを削除する。ソースから一部
のファイルを削除した等の理由でフルビルドした
いときに使う。

package

JAR等、最終成果物を生成する。POMを書く人は、
このフェーズでリリース物が...
IDE と統合する
Eclipse
m2e
EclipseのMaven統合プラグイン
Indigo (3.7) から統合済み、Kepler (4.3) からはm2e-wtpも統合

Mavenに投資しているSonatypeが開発元

maven...
テストをスキップする
もちろんそんなこと有り得ない訳ですが。
ソースをチェックアウトしてビルドしてみたら、
テストが通らない
テストが通らないのでJARができず、関連プロ
ジェクトが全部ビルドできない
テストが通ってなくてもいいから、とりあえず...
残りの9xのこと
Maven2のTipsを集めるWiki
http://wiki.fdiary.net/maven2/
誰でも編集できるので、何かあったら書
きましょう
Upcoming SlideShare
Loading in …5
×

Maven基礎

38,065 views

Published on

何年か前に社内向けMaven勉強会で発表した資料。
Maven使ったことない、使ってるけど仕組みは知らないという人向けに。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Maven基礎

  1. 1. Maven基礎 2013/9/30 株式会社アークシステム 瀧口 季男
  2. 2. Mavenって? Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org 上に書いてある通り、ソフトウェアプロジェ クトの管理&支援ツールです。
  3. 3. Javaでコンパイル ~どうやるんだっけ?~
  4. 4. javacって、ありましたよね? コンパイル? javac -cp lib/foo.jar;lib/baa.jar;lib/poo.jar -source 1.5 -target 1.5 -d classes src/com/example/foo/*.java src/com/example/baa/*.java JAR? jar cvf hoge.jar -C classes/ . 実行? java –cp classes;lib/foo.jar;lib/baa.jar;lib/poo.jar com.example.foo.Main arg… 私には無理です。本当にありがとうございました。
  5. 5. Ant ~それは革命~
  6. 6. さよならシェルスクリプト build.xmlを書いておけば、ant compile でコンパイルできる! <project name="hoge" default="jar" basedir="."> <target name="compile"> <javac destdir="bin" encoding="UTF-8"> <src path="src" /> <classpath> <fileset dir="lib"> <include name="**/*.jar" /> </fileset> </classpath> </javac> </target> <target name="jar" depends="compile"> <jar jarfile="dist/hoge.jar" basedir="bin"></jar> </target> </project>
  7. 7. Antがあってよかったなって Write once, build anywhere! ビルドに必要なソース、依存JAR、 build.xmlとAntが一式あれば、Windowsで もLinuxでもビルドできる!
  8. 8. パーキンソンの法則 仕事は、その遂行のために利 用できる時間をすべて埋める ように拡大する
  9. 9. Antあるある オレオレbuild.xml 「私のプロジェクトでは、モジュール名をソー スディレクトリ名とする キリッ」 依存JARが増えると・・・ いちいちサイト巡ってダウンロードするのめん どくせ (‘A`) SCMにJARを全部コミットしたらサーバーのHDD が・・・ あれ、デジャビュ? このAnt task、夢の中で書いた、ような・・・ いちいちbuild.xml書くのめんどくせ (‘A`)
  10. 10. ヒックの法則 意思決定にかかる時間は、可 能な選択肢の数に依存する
  11. 11. じゃ、決めちゃおうぜ プロジェクトのディレクトリ構成 決めても従わない奴ばかりだとしても、もし最初 からディレクトリ構成を作ってくれるとした ら? 依存jarの解決 あちこち探してダウンロードするんじゃなくて、 1箇所に集まってたら?さらに、自動でダウン ロードしてくれるとしたら? ビルドの流れ コンパイルして、テストして、ZIPで固めて・・
  12. 12. __ __ | ¥/ |__ _Apache__ ___ | |¥/| / _` ¥ V / -_) ' ¥ ~ intelligent projects ~ |_| |_¥__,_|¥_/¥___|_||_| v. 1.0.2 ~ビルドツールのその先へ~
  13. 13. ディレクトリ構成決めました これで行くから。 [basedir] ├ pom.xml ├ src │ ├ main │ │ ├ java │ │ └ resources │ └ test │ ├ java │ └ resources └ target ├ classes └ test-classes src/main/webapp、src/siteなどもある maven 1.0 の頃は、mainとtestが分かれてなかっ た。時代の流れを感じるところ。 http://maven.apache.org/guides/introduction/introductio n-to-the-standard-directory-layout.html
  14. 14. JARのリポジトリ作りました セントラルリポジトリにたくさんのJARを集めて公 開するよ 個々のJARを識別する仕組みも考えたよ groupId、artifactId、versionで特定するよ 依存するJARを設定ファイルに書いて明確化できるよ ビルド時に自動で依存を解決するよ リポジトリからJARをダウンロードするよ ダウンロードしたJARがSCM管理下に入らないように、 こっそり別の場所に保存しておくよ http://maven.apache.org/guides/introduction/introductio n-to-repositories.html
  15. 15. ビルドの流れを決めました Clean Site validate pre-clean pre-site compile Build Lifecycle Default clean site test post-clean post-site package integration -test verify install deploy site-deploy Mavenには3種類のライフサイク ルがある Defaultライフサイクルは、実際 もっと細かいフェーズに分かれ ている(全部で23個!) http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
  16. 16. ここまでのまとめ javacからAnt ビルドの定型化、環境非依存化 開発が大規模化するにつれ、冗長なところ が多くなった AntからMaven ビルドの普遍化、環境の統一化
  17. 17. Mavenがうごくしくみ ~Goal & Lifecycle~
  18. 18. Maven本体とゴール Maven本体の機能 POM(後述)の解析 ライフサイクルの各フェーズに結びつい たゴールの実行 ゴール ビルドの個々のタスク。コンパイル、JAR 作成、ファイルのコピーなどなど。 ゴールは全てプラグインが提供する
  19. 19. Goalの実行 個々のプラグイン名:ゴール名で、1 個のゴールを実行する compiler :compile > mvn compile Maven dependency resolve copy list compiler compile testCompile surefire test jar jar test-jar pluginたち
  20. 20. Phaseの実行 ライフサイクル中の指定したPhaseま で、各Phaseに紐付いたゴールを実行 する 各Phaseに結びつ resolve いたGoalを実行 > mvn test dependency Maven validate compile test validate copy list compiler compile testCompile surefire test compile test package ・ ・ ・ jar jar test-jar
  21. 21. 実行の仕方 mvn [options] [<goal(s)>] [<phase(s)>] Goal Mavenに実行させたいタスクの指定 [プラグイン名]:[ゴール名]で指定する mvn compiler:compile mvn jar:jar Phase ビルドライフサイクルをどのフェーズま で実行するか、という指定 各フェーズには、複数のゴールが結びつ いている
  22. 22. Mavenの設定 ~POM~
  23. 23. POM “Project Object Model” プロジェクト情報をXMLで記述する <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>hoge-project</artifactId> <version>1.0.0</version> <!-- その他色々な設定 --> </project> いくつか紹介しますが、詳しくはWeb で! http://maven.apache.org/pom.xml
  24. 24. dependencies プロジェクト依存ライブラリの設定 <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>hoge</artifactId> <version>1.0.0</version> <scope>compile</scope> </dependency> <dependency>…</dependency> </dependencies> groupId, artifactId, version JARを一意に特定するキー scope いつ必要なのかを指定する compile (デフォルト) provided runtime test system ローカルに無ければ、自動でリポジトリからダ ウンロードされる Mavenのセントラルリポジトリ以外のリポジトリ は repositories に設定する必要あり
  25. 25. build ビルドに関する設定(プラグイン等) <build> <defaultGoal>validate</defaultGoal> <resources> <resource>…</resource> </resources> <plugins> <plugin>…</plugin> </plugins> </build> defaultGoal goal/phase指定が無い場合に実行さ れるgoal/phaseを指定する resources 成果物に含める、含めないリソース (*.properties, *.xml等) を設定する plugins ビルドに使用するプラグイン設定 プラグインの追加 phaseにgoalを結びつけ プラグインの引数設定 ソースディレクトリ、ビルドしたclass ファイルの出力先を変更することもでき る でも、基本的にやらない。
  26. 26. build - plugin ビルドにプラグインを追加 <plugin> <groupId /> <artifactId /> <version /> <configuration>…</configuration> <executions> <execution> <id>taskname</id> <phase>compile</phase> <goals> <goal>doTask</goal> </goals> <configuration>…</configuration> </execution> </executions> </plugin> groupId, artifactId, version プラグインを特定するキー configuration プラグインの引数設定 execution phaseにgoalを結びつける phase 紐付け先のフェーズ goal フェーズで実行するプラグインのgoal
  27. 27. parent (Super POM) 親POMの設定 <parent> <groupId>com.example</groupId> <artifactId>hoge</artifactId> <version>1.0.0</version> <relativePath>…</relativePath> </parent> 依存ライブラリのバージョン、ビルド時 のプラグイン設定などを書いた親POMを 引き継ぐことができる
  28. 28. build - pluginManagement プラグインの一括管理 <pluginManagement> <plugins> <plugin>…</plugin> </plugins> </pluginManagement> 親POMに書いておけば、子モジュールに 引き継がれる マルチモジュール構成で活躍
  29. 29. dependencyManagement 依存ライブラリの構成管理 <dependencyManagement> <dependencies> <dependency> <groupId /> <artifactId /> <version /> <scope /> </dependency> <dependency>…</dependency> </dependencies> </dependencyManagement> dependencyと同じ JARを一意に特定するキー アーティファクトの属性 (version, scope, exclutions) を設定でき、dependenciesで個別に指 定する必要が無くなる
  30. 30. profile 環境に応じて設定を切り替えるしくみ <profiles> <profile> <id>production</id> <activation>…</activation> <build>…</build> <dependencies>…</dependencies> </profile> <profile>…</profile> </profiles> activation プロファイルを有効化する条件を設定する build プロファイルごとのビルド設定 dependencies プロファイルごとの依存関係 例えば 3つのprofile (本番, 保守, 開発) を用意し、DB接続設定 ファイルを切り替える JDKのバージョンに応じたJARを生成するため、コンパ イル対象とするソースファイルを差し替える
  31. 31. Mavenを使う人が知っておく べき97のこと
  32. 32. M2_HOME Mavenインストールディレクトリを指 す環境変数 Mavenの実行には、%M2_HOME%の設 定と、%M2_HOME%/bin をPATHに通 す必要がある
  33. 33. ローカルレポジトリ Mavenが自動でダウンロードしたJAR (依存関係、プラグイン)が格納され るディレクトリのこと [ユーザーのホームディレクトリ]/.m2
  34. 34. リポジトリのミラーを設定する セントラルリポジトリにあるはずなの にJARがダウンロードできない! セントラルリポジトリが落ちてた よ・・・ そんなときは ホームディレクトリの.m2/settings.xmlで ミラーを設定する <settings> <mirrors> <mirror> <id>UK</id> <name>UK Central</name> <url>http://uk.maven.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
  35. 35. リポジトリを追加する セントラルリポジトリに無いライブラ リ(Seasar、JBoss、etc…)を利用す る場合は、リポジトリの設定をPOMに 追加する <repositories> <repository> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>http://maven.seasar.org/maven2</url> </repository> </repositories>
  36. 36. プラグインリポジトリを追加する ビルドで使用するプラグインがセント ラルリポジトリに存在しない場合は、 プラグインリポジトリの設定をPOMに 追加する <pluginRepositories> <pluginRepository> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>http://maven.seasar.org/maven2</url> </pluginRepository> </pluginRepositories> Maven 3 はリポジトリの解釈が厳密化され、 repositoriesからプラグインを解決しないよう になった
  37. 37. 良く使うフェーズ clean targetディレクトリを削除する。ソースから一部 のファイルを削除した等の理由でフルビルドした いときに使う。 package JAR等、最終成果物を生成する。POMを書く人は、 このフェーズでリリース物が出来るように設定す るつもりで。 install 生成したJARをローカルリポジトリにコピーする。 当該プロジェクトを参照する他のプロジェクトか ら、JARを利用できるようになる。
  38. 38. IDE と統合する Eclipse m2e EclipseのMaven統合プラグイン Indigo (3.7) から統合済み、Kepler (4.3) からはm2e-wtpも統合 Mavenに投資しているSonatypeが開発元 maven-eclipse-plugin POMからEclipseの.projectと.classpathを生成する、 MavenのEclipse対応プラグイン dependencyのscopeを解釈できないのでお勧めしない NetBeans 最初からMaven統合済み IntelliJ たぶんイケる(誰か買ってください
  39. 39. テストをスキップする もちろんそんなこと有り得ない訳ですが。 ソースをチェックアウトしてビルドしてみたら、 テストが通らない テストが通らないのでJARができず、関連プロ ジェクトが全部ビルドできない テストが通ってなくてもいいから、とりあえず JARが欲しい そんなときは mvn install -DskipTests テストクラスのコンパイル自体できない? mvn install -Dmaven.test.skip
  40. 40. 残りの9xのこと Maven2のTipsを集めるWiki http://wiki.fdiary.net/maven2/ 誰でも編集できるので、何かあったら書 きましょう

×