MavenビルドからのJavaプログラムの実行に関するExec Mavenプラグイン
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.scdev.maven.utils.BuildInfo</mainClass>
</configuration>
</plugin>
ここで最も重要なポイントは、「configuration」内の「mainClass」要素です。これは、exec:javaゴールで実行されるJavaクラスを指定する場所です。
以下はJavaクラスの内容です。私たちはJavaのバージョン詳細と現在の時刻を出力するシンプルなクラスです。
package com.scdev.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ビルドを実行する
マベンビルドをexec:javaゴールで実行した場合の出力結果です。
$ mvn exec:java
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< com.scdev.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 Plugin Home Page