==[[Maven]]==*http://www.techscore.com/tech/Java/ApacheJakarta[[Apache]]Jakarta/Maven/index/
==基本==
===環境構築===
====確認====
C:\>mvn --version
[[Apache ]] Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900) [[Maven ]] home: C:\springsource\apache-maven-3.0.4 [[Java ]] version: 1.5.0_16, vendor: Sun Microsystems Inc. [[Java ]] home: C:\Program Files\[[Java]]\jdk1.5.0_16\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows vista[[vi]]sta", version: "6.1", arch: "x86", family: "windows"
====プロキシ設定====
*/conf/settings.xml
</proxies>
====プロジェクトを作成====
*JAR JA[[R]] ファイルを作成するプロジェクトを作成 mvn archetype:create -DgroupId=info.typea.sample -DartifactId[[Dart]]ifactId=sample
{|class="wikitable"
!引数
|}
====標準のディレクトリ構成====
*[[Maven ]] では標準のディレクトリ構成が決められている*構成を理解すれば、 [[Maven ]] を利用した他のプロジェクトのディレクトリ構成も理解したことになる
*標準のディレクトリ構成に従うことが推奨
{|class="wikitable"
|-
|src/main/java
|[[Java ]] ソースコード
|-
|src/test/java
|テスト用の [[Java ]] ソースコード
|-
|}
===pom.xml===
*プロジェクトに関する情報を持つ重要なファイル
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema[[XML]]Schema-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>
|-
|artifactId
|プロジェクトの成果物の名前。 作成する JAR JA[[R]] や WAR、EAR WA[[R]]、EA[[R]] ファイルなどの名前に使用されます。
|-
|packaging
|-
|url
|プロジェクトのサイトの URL。 U[[R]]L。 ドキュメントを作成するときなどに使用されます。
|-
|dependencies
*プロジェクトのサイトを簡単に作成
mvn site
====JAR JA[[R]] ファイルの作成====
mvn package
====ローカルリポジトリへのインストール====
<repository>
<id>deploy-repository</id>
<name>deployRepositorydeploy[[R]]epository</name> <url>file://${env.M2_HOME}/deployRepositorydeploy[[R]]epository</url>
</repository>
</distributionManagement>
==依存性==
*プロジェクトの依存するライブラリを自動的にダウンロードし、必要なときにクラスパスの設定を行う
*[[Maven ]] を用いた開発では、プロジェクトを作成するたびに、ライブラリを一つひとつ手作業でダウンロードする必要がない。*ライブラリのダウンロードはリモートリポジトリ(デフォルトでは [[Maven ]] の セントラルリポジトリ) から行われる
*必要とするライブラリがリモートリポジトリに存在しない場合や、存在しても必要とするバージョンのものが無い場合は、ライブラリを手作業でダウンロードし、ローカルリポジトリにインストールしなければいけない
*ローカルリポジトリのライブラリはローカルにあるプロジェクトで共有されるので、何度も行う必要はない
|scope の指定を省略した場合のデフォルト値です。全ての状況でクラスパスに追加されます。
|-
|providedpro[[vi]]ded
|ライブラリが JDK やコンテナによって提供される場合に指定します。コンパイル時のみクラスパスに追加されます。
|-
|}
=====groupId, artifactId, version に指定する値の調べ方=====
*[[Maven ]] ではデフォルトのリモートリポジトリとしてhttp://repo1.maven.org/maven2が指定されている
*groupId や artifactId に指定する値は、通常ここから探す
*検索用サイト
====出力先のディレクトリを指定====
$ mvn dependency:copy-dependencies -DoutputDirectory=lib
==[[Tips]]=====[[Spring Tool Suite]]===*[[Spring Tool Suite Mavenプロジェクトの作成]]*[[Spring Tool Suite Mavenでネットワークエラー]]
===トラブル===
====Missing Artifact 問題====
*[[Eclipse ]] で Missing Artifact Problem が発生したら、プロジェクト - Maven - Update Project を選択*Force Update of Snapshot/Release [[R]]elease にチェックを入れて実行