MavenビルドからのJavaプログラムの実行に関するExec Mavenプラグイン

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

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

    1. 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 Java Example

参考文献:

  • Exec Maven Plugin Home Page
コメントを残す 0

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


广告
広告は10秒後に閉じます。
bannerAds