웹사이트 검색

Exec Maven 플러그인 - Maven 빌드에서 Java 프로그램 실행


Maven exec 플러그인을 사용하면 maven 명령에서 시스템 및 Java 프로그램을 실행할 수 있습니다.

maven exec 플러그인에는 두 가지 목표가 있습니다.

  1. exec:exec - 별도의 프로세스에서 모든 프로그램을 실행하는 데 사용할 수 있습니다.
  2. exec:java - 동일한 VM에서 Java 프로그램을 실행하는 데 사용할 수 있습니다.

이 튜토리얼에서는 exec:java를 사용하여 maven 프로젝트에서 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 빌드 실행

다음은 exec:java 목표로 maven 빌드를 실행할 때의 출력입니다.

$ 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 플러그인 홈 페이지