ウェブサイト検索

Exec Mavenプラグイン - MavenビルドからJavaプログラムを実行する


Maven execプラグインを使用すると、MavenコマンドからシステムおよびJavaプログラムを実行できます。

Maven Execプラグインには2つの目的があります。

  1. exec:exec - 別のプロセスで任意のプログラムを実行するために使用できます。
  2. 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 プラグイン Java の例

参考文献:

  • Exec Maven プラグイン ホーム ページ

関連記事: