【1】Mavenとは...
* Javaのソフトウェア・プロジェクト管理ツール * Antの機能を内包しており、ビルドツールとしても利用可能
【2】利点
* Jarファイルの依存関係を自動的に解決してダウンロードをする (必要なJarファイルを手動で入手する必要がなくなる)
【3】用途
* コンパイル * 単体テスト * Javadoc生成 * テストレポート生成 * デプロイ
【4】
* Mavenは、「アーティファクト(Artifact)」と「リポジトリ」 という2つの概念で構築されている
1)アーティファクト(Artifact)
* ビルドの成果物として生成される単一のファイルのこと
【5】pom.xml
* Mavenが動作するのに必要な設定ファイルは、「pom.xml」である * pom.xmlは、プロジェクトに対し、Mavenが必要とする情報が記述されている
1)構成
+ artifactId : アーティファクトID + groupId : プロジェクトのグループID + version : プロジェクトのバージョン * 上記3つのタグを利用することで、 大きなプロジェクトの中のサブプロジェクトまで 管理することが可能になる + packaging : プロジェクトの生成物の種類を指定。デフォルトはjar + dependency : プロジェクトに必要とするライブラリ
【6】テンプレート
<?xml version="1.0" encoding="UTF-8"?> <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"> <!-- プロジェクト設定 --> <build> <!-- 入出力の設定 --> <plugins> <plugin> <!-- ビルド設定 --> </plugin> </plugins> </build> <reporting> <plugin> <!-- レポート設定 --> </plugin> </reporting> <dependencies> <dependency> <!-- ライブラリ依存関係の設定 --> </dependency> </dependencies> </project>
例
* 例「hibernate-core-3.2.0.ga」であれば... * artifactId : hibernate * groupId : core * version : 3.2.0.ga
pom.xml
・・・ <dependency> <artifactId>hibernate</artifactId> <groupId>core</groupId> <version>3.2.0.ga</version> </dependency> ・・・
【7】設定ファイル・setting.xml
* ビルドの成果物として生成される単一のファイルのこと + proxies : HTTP通信のPROXYの設定 + mirrors : 取得するJarファイルがあるサイトの指定 + localRepository : ローカルリポジトリの場所を指定
参考資料
http://www.itarchitect.jp/enterprise/-/45149.html
* ちゃんと勉強するには、以下を参考にするのがよさそう。
http://d.hatena.ne.jp/clash_m45/20120613/1339576411
用語
関連記事
Maven ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2010/01/13/215415
Maven ~ ローカルリポジトリ ~
https://dk521123.hatenablog.com/entry/2024/05/20/210205
Maven ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2010/02/18/231343
Maven の トラブルシューティング
https://dk521123.hatenablog.com/entry/2017/12/13/001319