はじめに
Mavenというやつをやってみようと思います。(よーわからんw
Maven公式: https://maven.apache.org/
ビルドツール
- ant
- ビルドを自動化するツール
- コンパイル、テスト、パッケージング、デプロイを自動化する
- ビルドを自動化するツール
- maven
- antよりも高性能
- ビルドの自動化にプラスして、ライブラリの管理、テスト結果の共有などができる
- xmlファイル(pom.xml)による管理
- gradle
- mavenよりも高性能
- ビルドの自動化、ライブラリ管理にプラスして、スクリプトの実行もできる
- groovy言語で書かれたgradleファイル(build.gradle)による管理
Mavenのインストール
- Apacheプロジェクトのサイトからダウンロード
http://maven.apache.org
- 環境変数の設定
-
brew install maven
- brewによるインストール
-
mvn -v
- ちゃんとインストールできたか確認
- バージョンが表示される
Mavenの仕組み
- アーティファクト
- プロジェクトのビルドによって生成される成果物のこと
- jarファイルやwarファイルのこと
- 必須情報
- グループID
- 生成した組織を示す(ドメイン)
- プロジェクトのパッケージ名を設定する
- アーティファクトID
- グループ内で一意なもの
- プロジェクト名を設定する
- バージョン
- グループID
- プロジェクトレイアウト
- プロジェクトルート直下
- srcファイル
- pom.xml
- mvnコマンドで自動生成するほうがよい
- プロジェクトルート直下
- POM
- Project Object Model
- プロジェクトのライフサイクル全体を管理する
- pom.xmlにより定義する
- プロジェクトに関する情報を定義しておくXMLファイル
Mavenプロジェクトの作成
-
mvn archetype:generate
- Mavenプロジェクトを生成する
- archetypeプラグインのgenerateゴールを実行するという意味
- 設定すべき項目
- groupId
- プロジェクトのパッケージ名
- articleId
- プロジェクト名
- groupId
mvn archetype:generate -DgroupId=(パッケージ名) -DartifactId=(プロジェクト名) -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
ライブラリの管理
- Mavenにはライブラリの依存性を管理する機能がある
- 自動的にライブラリをダウンロードして、必要に応じてクラスパスを設定する
- リポジトリから取得
http://search.maven.org/
- リモートリポジトリから取ってきたライブラリはローカルリポジトリに追加される
-
~/.m2/repository
以下に追加される
-
- pom.xmlに以下のように設定する
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
おわりに
Mavenってなんなの?というところから、Mavenを使ってライブラリの依存を管理するところまでやりました。
参考までに。
ひろたつ