20+ Mavenのコマンドとオプション(チートシート)

こんにちは、はじめまして。

MavenはJavaアプリケーションのプロジェクト管理や依存関係管理のために最も人気のあるツールの一つです。Mavenには日々の作業を助けるための多くのコマンドやオプションが提供されています。

このチートシートは、いくつかの便利なMavenコマンドを示すためにサンプルのMavenプロジェクトを使用しています。元々はOpenJDK 13.0.1とMaven 3.6.3向けに書かれていました。これらのコマンドはOpenJDK 19.0.1とMaven 3.8.7でも確認済みです。

Mavenコマンドのチートシート

Maven Commands Cheat Sheet

「mvn clean」を日本語で書き換えてください。

このコマンドは、targetディレクトリを削除してMavenプロジェクトをクリーンにします。

  1. mvn clean

 

以下は、日本語での同義表現の例です。

– 出力の例:
“これは、日本語での同義表現の一つのオプションです。”

Output

[INFO] — maven-clean-plugin:2.5:clean (default-clean) @ maven-example-jar — [INFO] Deleting /Users/sammy/Desktop/maven-examples/maven-example-jar/target [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ————————————————————————

mvnコンパイル:コンパイル

このコマンドは、Maven プロジェクトの Java ソースクラスをコンパイルします。

  1. mvn compiler:compile

 

以下の文を日本語で言い換える(1つのオプションのみ必要):
出力の例:

Output

[INFO] — maven-compiler-plugin:3.8.1:compile (default-cli) @ maven-example-jar — [INFO] Changes detected – recompiling the module! [INFO] Compiling 1 source file to /Users/sammy/Desktop/maven-examples/maven-example-jar/target/classes [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ————————————————————————

mvnのコンパイラ:testCompile

このコマンドは、Mavenプロジェクトのテストクラスをコンパイルします。

  1. mvn compiler:testCompile

 

出力の例:

Output

[INFO] — maven-compiler-plugin:3.8.1:testCompile (default-cli) @ maven-example-jar — [INFO] Changes detected – recompiling the module! [INFO] Compiling 1 source file to /Users/sammy/Desktop/maven-examples/maven-example-jar/target/test-classes [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ————————————————————————

「mvn package」を日本語で表現すると、「mvnパッケージ」です。

このコマンドはMavenプロジェクトをビルドし、JAR、WARなどにパッケージ化します。

  1. mvn package

 

出力の例:

Output

[INFO] — maven-compiler-plugin:3.8.1:compile (default-compile) @ maven-example-jar — [INFO] Changes detected – recompiling the module! [INFO] Compiling 1 source file to /Users/sammy/Desktop/maven-examples/maven-example-jar/target/classes … [INFO] — maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ maven-example-jar — [INFO] Changes detected – recompiling the module! [INFO] Compiling 1 source file to /Users/sammy/Desktop/maven-examples/maven-example-jar/target/test-classes … [INFO] — maven-surefire-plugin:2.12.4:test (default-test) @ maven-example-jar — [INFO] Surefire report directory: /Users/sammy/Desktop/maven-examples/maven-example-jar/target/surefire-reports ——————————————————- T E S T S ——————————————————- Running com.example.maven.classes.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] — maven-jar-plugin:2.4:jar (default-jar) @ maven-example-jar — [INFO] Building jar: /Users/sammy/Desktop/maven-examples/maven-example-jar/target/maven-example-jar-0.0.1-SNAPSHOT.jar [INFO] ———————————————————————— [INFO] BUILD SUCCESS

「BUILD SUCCESS」メッセージの直前に、出力にはJARファイルの場所が表示されます。ビルドをパッケージ化する前に、パッケージゴールはcompile、testCompile、およびtestゴールを実行することに注意してください。

インストールするためにmvnを使用します。

このコマンドはMavenプロジェクトをビルドし、プロジェクトのファイル(JAR、WAR、pom.xmlなど)をローカルリポジトリにインストールします。

  1. mvn install

 

以下の日本語での言い換え例を1つ提供します。

出力の例:

Output

[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ maven-example-jar — … [INFO] — maven-compiler-plugin:3.8.1:compile (default-compile) @ maven-example-jar — … [INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ maven-example-jar — … [INFO] — maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ maven-example-jar — … [INFO] — maven-surefire-plugin:2.12.4:test (default-test) @ maven-example-jar — … [INFO] — maven-jar-plugin:2.4:jar (default-jar) @ maven-example-jar — … [INFO] — maven-install-plugin:2.4:install (default-install) @ maven-example-jar — [INFO] Installing /Users/sammy/Desktop/maven-examples/maven-example-jar/target/maven-example-jar-0.0.1-SNAPSHOT.jar to /Users/sammy/.m2/repository/com/example/maven/maven-example-jar/0.0.1-SNAPSHOT/maven-example-jar-0.0.1-SNAPSHOT.jar [INFO] Installing /Users/sammy/Desktop/maven-examples/maven-example-jar/pom.xml to /Users/sammy/.m2/repository/com/example/maven/maven-example-jar/0.0.1-SNAPSHOT/maven-example-jar-0.0.1-SNAPSHOT.pom [INFO] ———————————————————————— [INFO] BUILD SUCCESS

「mvn deploy」を日本語で言い換えると、以下のようになります:
「mvn deploy」を実行する

このコマンドはアーティファクトをリモートリポジトリに展開します。

  1. mvn deploy

 

プロジェクトのpom.xmlファイルのdistributionManagementタグにリモートリポジトリを適切に設定する必要があります。Mavenのsettings.xmlファイルのサーバーエントリは、認証情報を提供するために使用されます。

mvnのvalidate

このコマンドは、すべてが正確で必要な情報がそろっていることを確認するために、Mavenプロジェクトを検証します。

  1. mvn validate

 

mvn dependency:treeの内容を日本語で言い換えると、「mvn dependency:tree」の依存関係のツリーを表示するコマンドです。

このコマンドは、Mavenプロジェクトの依存関係のツリーを生成します。

  1. mvn dependency:tree

 

出力の例:

Output

[INFO] — maven-dependency-plugin:2.8:tree (default-cli) @ Mockito-Examples — [INFO] com.example.mockito:Mockito-Examples:jar:1.0-SNAPSHOT [INFO] +- org.junit.platform:junit-platform-runner:jar:1.2.0:test [INFO] | +- org.apiguardian:apiguardian-api:jar:1.0.0:test [INFO] | +- org.junit.platform:junit-platform-launcher:jar:1.2.0:test [INFO] | \- org.junit.platform:junit-platform-suite-api:jar:1.2.0:test [INFO] | \- org.junit.platform:junit-platform-commons:jar:1.2.0:test [INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:5.2.0:test [INFO] | +- org.junit.platform:junit-platform-engine:jar:1.2.0:test [INFO] | | \- org.opentest4j:opentest4j:jar:1.1.0:test [INFO] | \- org.junit.jupiter:junit-jupiter-api:jar:5.2.0:test [INFO] +- org.mockito:mockito-junit-jupiter:jar:2.19.0:test [INFO] | \- org.mockito:mockito-core:jar:2.19.0:test [INFO] | +- net.bytebuddy:byte-buddy:jar:1.8.10:test [INFO] | +- net.bytebuddy:byte-buddy-agent:jar:1.8.10:test [INFO] | \- org.objenesis:objenesis:jar:2.6:test [INFO] \- org.testng:testng:jar:6.14.3:test [INFO] +- com.beust:jcommander:jar:1.72:test [INFO] \- org.apache-extras.beanshell:bsh:jar:2.0b6:test

mvn dependency:analyze を日本語で書き換える。

mvn dependency:analyze

このコマンドは、Mavenプロジェクトを解析して、使用されていない宣言済みの依存関係と使われている未宣言の依存関係を特定します。

  1. mvn dependency:analyze

 

例: 出力の例

Output

[INFO] — maven-dependency-plugin:2.8:analyze (default-cli) @ Mockito-Examples — [WARNING] Used undeclared dependencies found: [WARNING] org.junit.jupiter:junit-jupiter-api:jar:5.2.0:test [WARNING] org.mockito:mockito-core:jar:2.19.0:test [WARNING] Unused declared dependencies found: [WARNING] org.junit.platform:junit-platform-runner:jar:1.2.0:test [WARNING] org.junit.jupiter:junit-jupiter-engine:jar:5.2.0:test [WARNING] org.mockito:mockito-junit-jupiter:jar:2.19.0:test

pom.xmlファイルから未使用の依存関係を特定し、削除することで、ビルドサイズを削減するのに役立ちます。

mvn archetype:generate のコマンドを実行してください。

このコマンドはJAR、ウェブアプリケーション、Mavenサイトなど、さまざまなタイプのスケルトンMavenプロジェクトを生成します。

  1. mvn archetype:generate

 

以下は日本語での一つのオプションによる言い換え例です:

例の出力:

Output

[INFO] —————————————————————————- [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4 [INFO] —————————————————————————- … [INFO] Project created from Archetype in dir: /Users/sammy/Desktop/maven-examples/maven-example-jar [INFO] ———————————————————————— [INFO] BUILD SUCCESS

おすすめの読み物:Maven Archetypesを使用してJavaプロジェクトを作成する方法

mvnサイト:サイト

このコマンドはプロジェクトのためのサイトを生成します。

  1. mvn site:site

 

このコマンドを実行した後、ターゲットのディレクトリ内にサイトディレクトリが表示されます。

/Users/sammy/Desktop/maven-examples/maven-example-jar/target/site/index.html

プロジェクトに関連する情報を提供するため、サイトディレクトリ内には複数のHTMLファイルが存在します。

テストを実行するために mvn test を使用してください。

このコマンドはプロジェクトのテストケースを実行します。

  1. mvn test

 

出力例:

Output

[INFO] ——————————————————- [INFO] T E S T S [INFO] ——————————————————- [INFO] Running TestSuite first-element second-element Employee setName Argument = Sammy … [INFO] Results: [INFO] [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] ———————————————————————— [INFO] BUILD SUCCESS

mvnのコンパイルを実行する

このコマンドは、プロジェクトのソースJavaクラスをコンパイルします。

  1. mvn compile

 

以下は日本語での一つのオプションによる言い換え例です:

例文:

Output

[INFO] — maven-compiler-plugin:3.7.0:compile (default-compile) @ Mockito-Examples — [INFO] Changes detected – recompiling the module! [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! [INFO] Compiling 10 source files to /Users/sammy/Desktop/maven-examples/Mockito-Examples/target/classes

これは以前のmvn compiler:compileコマンドに類似していますが、コンパイルまでのMavenの全ライフサイクルが実行されます。

以下のフレーズを日本語で自然な表現に変換します(オプションは1つだけ):
mvn verify -> ビルドの検証を行う(「mvn verify」はメイブン(Maven)のコマンドで、ビルドの検証を行うという意味です)

このコマンドは、プロジェクトをビルドし、すべてのテストケースを実行し、統合テストの結果に対してチェックを行って、品質基準が満たされていることを確認します。

  1. mvn verify

 

メイブンのオプション

Mavenは、Mavenビルドプロセスを変更するために多くのコマンドラインオプションを提供しています。

mvnコマンドのヘルプオプションを教えてください。

このコマンドラインオプションは、Mavenの使用方法と利用可能なオプションを表示します。

  1. mvn -help

 

出力の例:

Output

usage: mvn [options] [<goal(s)>] [<phase(s)>] Options: -am,–also-make If project list is specified, also build projects required by the list -amd,–also-make-dependents If project list is specified, also build projects that depend on projects on the list -B,–batch-mode Run in non-interactive (batch) mode (disables output color) -b,–builder <arg> The id of the build strategy to use -C,–strict-checksums Fail the build if checksums don’t match -c,–lax-checksums Warn if checksums don’t match -cpu,–check-plugin-updates Ineffective, only kept for backward compatibility

dirディレクトリ内のpom.xmlを使用して、mvn packageを実行してください。

このコマンドラインオプションは、別の場所からプロジェクトをビルドします。

  1. mvn -f dir/pom.xml package

 

プロジェクトのビルドにはpom.xmlファイルの場所が必要です。スクリプトからMavenのビルドを実行する際に役立ちます。

mvn(メイブン)-o(オフライン)パッケージ

このコマンドラインオプションはMavenビルドをオフラインモードで実行します。

  1. mvn -o package

 

ローカルリポジトリに必要なJARファイルがすべてダウンロードされており、リモートリポジトリでのJARファイルの参照を避けたい場合に便利です。

mvn -q package を日本語で言い換えると、次のようになります。
mvn -q パッケージ

このコマンドラインオプションを使用すると、Mavenのビルドが静かなモードで実行され、テストケースの結果とエラーのみが表示されます。

  1. mvn -q package

 

mvn -X パッケージ化

このコマンドラインオプションは、Mavenのバージョンを表示し、ビルドをデバッグモードで実行します。そのため、すべてのメッセージが表示されます。

  1. mvn -X package

 

出力の例:

Output

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /Users/sammy/Downloads/apache-maven-3.6.3 Java version: 13.0.1, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home Default locale: en_IN, platform encoding: UTF-8 OS name: “mac os x”, version: “10.15.1”, arch: “x86_64”, family: “mac” [DEBUG] Created new class realm maven.api [DEBUG] Importing foreign pacakges into class realm maven.api [DEBUG] Imported: javax.annotation.* < plexus.core [DEBUG] Imported: javax.annotation.security.* < plexus.core [DEBUG] Imported: javax.enterprise.inject.* < plexus.core [DEBUG] Imported: javax.enterprise.util.* < plexus.core [DEBUG] Imported: javax.inject.* < plexus.core

mvn -v を日本語で書き直してください。

このコマンドラインオプションは、Mavenのバージョン情報を表示します。

  1. mvn -v

 

出力の例:

Output

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /Users/sammy/Downloads/apache-maven-3.6.3 Java version: 13.0.1, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home Default locale: en_IN, platform encoding: UTF-8 OS name: “mac os x”, version: “10.15.1”, arch: “x86_64”, family: “mac”

以下の文を日本語で自然に言い換えてください。一つのオプションで構いません:
“`
mvn -V package
“`
「mvn -V package」というコマンドを実行してください。

このコマンドラインオプションは、Mavenのバージョンを表示してからビルドを継続します。

  1. mvn -V package

 

以下のコマンドと同じです:

  1. mvn -v;mvn package

 

テストをスキップして、パッケージを作成するために、mvn -DskipTests package を実行してください。

このコマンドラインオプションは、ビルドサイクルからユニットテストケースをスキップするために skipTests システムプロパティを適用します。

  1. mvn -DskipTests package

 

テストケースの実行もスキップすることもできます。

  1. mvn -Dmaven.test.skip=true package

 

mvnコマンドを使用して、並列処理で4つのスレッドを使ってクリーンビルドを実行してください。

このコマンドラインオプションは、指定したスレッド数を使用してMavenに並列ビルドを実行するよう指示します。

  1. mvn -T 4 clean install

 

複数のモジュールが並行して構築できるマルチモジュールプロジェクトでは、これは非常に便利です。プロジェクトのビルド時間を短縮することができます。

参考文献

  • Maven Plugins
  • Maven CLI Options Reference
コメントを残す 0

Your email address will not be published. Required fields are marked *