Exec Maven 插件 - 从 Maven Build 运行 Java 程序

Maven EXEC插件允许我们从Maven命令执行系统和Java程序。

Maven exec插件有两个目标:

1.exec:exec -可以在单独的进程中执行任何程序。 2.exec:Java -可以在同一个VM上运行Java程序。

在本教程中,我们将学习如何使用exec:Java 从我们的maven项目中运行Java程序。

第一步:在pom.xml中添加exec-maven-plugin插件

如果您希望使用任何maven插件,则需要在pom.xml构建部分对其进行配置。只需将以下插件配置添加到您的项目pom.xml文件中。

1<plugin>
2    	<groupId>org.codehaus.mojo</groupId>
3    	<artifactId>exec-maven-plugin</artifactId>
4    	<version>1.6.0</version>
5    	<configuration>
6    		<mainClass>com.journaldev.maven.utils.BuildInfo</mainClass>
7    	</configuration>
8</plugin>

这里最需要注意的一点是**配置** 中的** mainClass** 元素。在这里我们指定将由** exec:Java** 目标执行的Java类。

下面是Java类的内容。这是一个简单的类,我们在其中打印Java版本详细信息和当前时间。

 1package com.journaldev.maven.utils;
 2
 3import java.time.LocalDateTime;
 4
 5public class BuildInfo {
 6
 7    public static void main(String[] args) {
 8    	String javaVersion = Runtime.version().toString();
 9    	String time = LocalDateTime.now().toString();
10    	System.out.println("********\nBuild Time: " + time 
11    			+ "\nJava Version: " + javaVersion + "\n********");
12    }
13
14}

第二步:使用exec:Java Goal运行maven构建

下面是我们使用exec:java目标运行maven构建时的输出。

 1$ mvn exec:java
 2[INFO] Scanning for projects...
 3[INFO] 
 4[INFO] ---------------< com.journaldev.maven:maven-example-jar >---------------
 5[INFO] Building maven-example-jar 0.0.1-SNAPSHOT
 6[INFO] --------------------------------[ jar ]---------------------------------
 7[INFO] 
 8[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ maven-example-jar ---
 9********
10Build Time: 2020-01-10T12:44:17.718061
11Java Version: 13.0.1+9
12********
13[INFO] ------------------------------------------------------------------------
14[INFO] BUILD SUCCESS
15[INFO] ------------------------------------------------------------------------
16[INFO] Total time:  0.591 s
17[INFO] Finished at: 2020-01-10T12:44:17+05:30
18[INFO] ------------------------------------------------------------------------
19$

Exec Maven Plugin Java Example

==参考=同步,由长者更正==

Published At
Categories with 技术
Tagged with
comments powered by Disqus