Exec Mavenプラグイン - MavenビルドからJavaプログラムを実行する
Maven execプラグインを使用すると、MavenコマンドからシステムおよびJavaプログラムを実行できます。
Maven Execプラグインには2つの目的があります。
- exec:exec - 別のプロセスで任意のプログラムを実行するために使用できます。
- exec:java - 同じVM内でJavaプログラムを実行するために使用できます。
このチュートリアルでは、mavenプロジェクトからJavaプログラムを実行するためにexec:javaを使用する方法を学びます。
ステップ1: pom.xmlにexec-maven-pluginの設定を追加する
Mavenプラグインを使用したい場合は、pom.xmlのビルドセクションにそれを設定する必要があります。以下のプラグイン設定をプロジェクトのpom.xmlファイルに追加してください。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<mainClass>com.journaldev.maven.utils.BuildInfo</mainClass>
</configuration>
</plugin>
ここで最も重要なポイントは、“configuration” の中にある “mainClass” 要素です。ここで、exec:java ゴールによって実行される Java クラスを指定します。
こちらがJavaクラスの内容です。これはJavaのバージョン詳細と現在の時刻を出力するシンプルなクラスです。
package com.journaldev.maven.utils;
import java.time.LocalDateTime;
public class BuildInfo {
public static void main(String[] args) {
String javaVersion = Runtime.version().toString();
String time = LocalDateTime.now().toString();
System.out.println("********\nBuild Time: " + time
+ "\nJava Version: " + javaVersion + "\n********");
}
}
ステップ2: exec:javaゴールでMavenビルドを実行する
これは、mavenビルドをexec:javaゴールで実行したときの出力です。
$ mvn exec:java
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< com.journaldev.maven:maven-example-jar >---------------
[INFO] Building maven-example-jar 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ maven-example-jar ---
********
Build Time: 2020-01-10T12:44:17.718061
Java Version: 13.0.1+9
********
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.591 s
[INFO] Finished at: 2020-01-10T12:44:17+05:30
[INFO] ------------------------------------------------------------------------
$
参考文献:
- Exec Maven プラグイン ホーム ページ

