Apache Maven 使用方法

ゴール一覧

ゴール=Mavenコマンド

ゴール 内容 自動実行
mvn -version バージョン
mvn archetype:generate スケルトン(プロジェクト)作成
mvn eclipse:eclipse Eclipseプロジェクトに変換
mvn compile ソースコードをコンパイル
mvn test-compile テスト用ソースコードをコンパイル
mvn package パッケージ化
コンパイル済みファイルをjar/warに
mvn compile
mvn test-compile
mvn test
mvn clean パッケージの削除
mvn install ライブラリのインストール
リポジトリからのダウンロード
mvn test テスト実行 mvn compile
mvn test-compile
mvn spring-boot:run スプリングアプリケーションの実行

スケルトン作成

> mvn archetype:generate
 - DarchetypeArtifactId=maven-archetype-quickstart
 - DinteractiveMode=false
 プロジェクトのルートパッケージ名
 -DgroupId=com.office.yone
 プロジェクト名
 -DartifactId=MyProject
結果
MyProject
└Src
 └main
  └java
   └com
    └office
     └yone
      └App.java
 └test
  └~
pom.xml

Eclipseプロジェクトに変換

mvn eclipse:eclipse
結果
MyProject
└Src
 └main
  └~
 └test
  └~
.classpath
.project
pom.xml

コンパイル

結果
MyProject
└Src
 └main
  └~
 └test
  └~
└target
 └classes
   └com
    └office
     └yone
      └App.class

.classpath
.project
pom.xml

パッケージ作成

パッケージ化
コンパイル済みファイルをjar/warに
以下が自動実行される。
・mvn compile
・mvn test-compile
・mvn test


cd /d (ソースコードパス)
mvn pacage
 テスト実行をスキップ
 -DskipTests=true

 テストコードのコンパイル、テスト実行をスキップ
 -Dmaventest.skip=true

 プロファイルを指定
 -P (プロファイルID)

ライブラリのインストール

リモートリポジトリからライブラリをダウンロード

テストをスキップしてインストール

コマンド テストコンパイル テスト実行
mvn install -Dskiptests=true ×
mvn install -Dmaven.test.skip=true

リモートリポジトリにないライブラリをインストールする

pom.xmlに依存性を記述
<dependency>
 <groupId>com.oracle</groupId>
 <artifactId>ojdbc6</artifactId>
 <version>12.1.0.1.0</version>
</dependency>
セントラルリポジトリにはojdbc6は無いのでエラーとなる

※ローカルリポジトリ
ここにも無い<br/>
.m2
└repository
 └com
  └example
  └fasterxml
  └google
  └jayway
  └thoughtworks
  └vaadin

Oracleのサイトからojdbc6.jarファイルをダウンロード
mvn installコマンドを実行
mvn install:install-file
 -Dfile=C:\ojdbc6
 -DgroupId=com.oracle
 -DartifactId=ojdbc6
 -Dversion=12.1.0.1.0
 -Dpackaging=jar
 -DgeneratePom=true
※ローカルリポジトリ
.m2
└repository
 └com
  └oracle
   └ojdbc6
    └maven-metadata-local.xml
    └12.1.0.1.0
     └ojdbc6-12.1.0.1.0.jar
     └ojdbc6-12.1.0.1.0.pom
     └_remote.repositories
ojdbc6がインストールされている

テスト実行

pom.xmlにMavenでのJUnitテストライブラリを設定
Apache Maven 設定方法」参照
実行結果
——————————————————-
T E S T S
——————————————————-

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 18.618 s
[INFO] Finished at: 2017-05-13T12:36:27+09:00
[INFO] Final Memory: 17M/178M
[INFO] ————————————————————————

スプリングアプリケーションの実行

Spring-Boot用pom.xmlにて必要な設定がなされているプロジェクトでのみ有効
以外はエラー
Spring Boot 1 設定/pom.xml(Spring-Boot用)」参照