27
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Maven】Mavenについて

Last updated at Posted at 2017-11-06

#■概要

#■Mavenとは

  • Apache Software Foundationで開発されたソフトウェアPJ管理ツール
  • Project Object Model (POM)という考え方でPJのライフサイクルを管理
  • PJの全情報は、pom.xmlに集約される
  • メリットは、 開発者が短期間でPJを理解するサポート するための支援機能
  • デメリットは、 Mavenを理解していないと恩恵を受けれない という制約

#■入手方法

#■アーキテクチャ
画像
参照元:https://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/

  • 各タスクをmvnコマンドを使用して実施できる
  • ビルド方法はPJが違っても同じ(Mavenのメリット
  • ローカル/リモートリポジトリには、プラグインやライブラリが配置される
  • ライフサイクルの流れ
①PJ作成
②コンパイル
③ユニットテスト
④ドキュメンテーション
⑤JAR作成
⑥ローカルリポジトリへの反映
⑦リモートリポジトリへの反映
⑧PJクリア

#■Mavenの実行

  • mvnコマンドを実行する
  • 実施したいタスクは、引数で指定
  • conf/setting.xmlには環境に応じた設定を行う
  • -help引数で不明箇所を確認できる

#■ライフサイクル

  • 各ライフサイクルごとにポイントを確認する

##①PJ作成

  • PJの雛形(スケルトン)を作成できる

  • pom.xmlはデフォルトで作成される

  • 標準ディレクトリ構成が推奨されている

  • 成果物の作成に必要なファイルはsrc配下に配置される

    パス 解説
    src/main/java javaのソースコード
    src/test/java テスト用のjavaのソースコード
  • pom.xmlの各要素

    | 要素 | 解説 |
    | :-- | :-- |
    | modelversion | POMのバージョン
    ※特別変更不要 |
    | groupId | PJを一意に識別する名前。
    PJのルートパッケージ名を指定するのが一般的。 |
    | artifactId | PJの成果物の名前。
    作成するjar/warなどの名前に使用される。 |
    | packaging | 作成する成果物のパッケージタイプ。
    デフォルトだとjar。 |
    | version | PJのバージョン。 |
    | name | PJの表示名。
    ドキュメント作成時などに使用される。 |
    | url | PJのサイトのURL。
    ドキュメント作成時などに使用される。 |
    | dependencies | PJが依存するライブラリの情報。 |

$ mvn archetype:generate -DgroupId=<ID> -DartifactId=<ID>

[引数の解説]
- archetype:generate → 雛形作成を指定する引数
- -DgroupId → PJのルートパッケージ名
- -DartifactId → PJ名

##②コンパイル

  • ソースコードをPJで実行可能な形式(.class)に変換する
  • 作成されらclassファイルは、target/class配下に出力される
$ mvn compile

##③ユニットテスト

$ mvn test
  • デフォルトでは、以下の条件に合致するファイルがテストとして実行される

*/Test.java
**/*Test.java
**/*TestCase.java


- デフォルトでは、以下の条件に合致するファイルはテストから除外される

	```
**/Abstract*Test.java
**/Abstract*TestCase.java
**/*$*

##④ドキュメンテーション
###1.Javadocの作成

  • target/javadoc配下にJavadocが配置される
$ mvn javadoc:javadoc

###2.サイトの作成

  • 標準ではsrc/site配下に必要な情報が配置される
  • サイト作成に関する情報は、src/site/site.xmlに記載する
$ mvn site

##⑤JARファイルの作成

  • JARファイルの名前は、pom.xml内のartifactIdversionから決定される
  • JARファイルはtarget配下に配置される
mvn package

##⑥ローカルリポジトリへのインストール

  • 作成したJARファイルをローカルリポジトリにインストール(反映)することができる
  • インストール(反映)が完了すると、他PJからも参照できる
mvn install

##⑦リモートリポジトリへの配置

  • pom.xmlに必要となるrepository情報を設定する必要がある

  • pom.xml > project/project/distributionManagement 要素の入れ子として repository 要素を追加する

  • repositoryの子要素

    |要素名|解説|
    |:--|:--|
    |id|リポジトリの識別子|
    |name|リポジトリの名前|
    |url|リポジトリの場所を示すURL|

$ mvn deploy

##⑧PJのクリーン

  • target配下を削除する
$ mvn clean
27
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?