Maven exec插件简介

1,074 阅读4分钟

Maven exec plugin

Maven exec插件简介

它用于从maven命令中执行java和系统代码,基本上有两个目标,即exec: exec和exec: java。第一个目标是exec: exec,用于在不同的进程中执行任何程序;第二个目标是exec: java,用于在同一服务器上执行java程序。要在java中使用任何maven exec插件,首先我们需要在pom.xml文件中添加同样的插件。如果不在pom.xml文件中添加exec插件,我们就不能在项目中使用它。

它是如何工作的?

  • 基本上,它有两个目标,第一个是exec: exec,第二个是exec: java。
  • 第一个目标是用来执行任何代码到不同的进程。第二个目标用于在同一服务器上运行java代码。
  • 下面是可供一般使用的版本,如下
  1. 版本1.0
  2. 1.0.1版
  3. 1.0.2版
  4. 1.1版
  5. 1.1.1版
  6. 版本1.2
  7. 版本1.2.1
  8. 版本1.3
  9. 版本1.3.1
  10. 版本1.3.2
  11. 1.4.0版
  12. 1.5.0版
  13. 1.6.0版
  14. 版本3.0.0
  • 要使用maven exec插件执行java代码,我们需要在pom.xml文件的构建部分进行配置。
  • 我们需要在pom.xml文件中添加以下配置,以便在项目中使用maven exec插件。
<plugin>  -- Start of plugin section
<groupId> /* Start of groupId section */ name of groupid </groupId> -- end of groupid section.
<artifactId> /* Start of artifactId section */  exec-maven-plugin</artifactId> -- end of artifactId section.
<version> /* Start of version section */ version number </version> -- end of version section.
<configuration>
<mainClass> /* Start of mainClass section */ main class name </mainClass> -- end of mainClass section.
</configuration> -- -- end of configuration section.
</plugin>  -- end of plugin section.
  • 第一部分包含插件,maven exec的执行从插件部分开始。我们需要结束我们已经开始的每一节。
  • 第二部分包含groupid,这只是maven exec插件中使用的groupid名称。
  • 第三部分包含artifactid,这只是在配置maven exec插件时使用的exec插件的名称。
  • 第四部分包含版本,这只是配置maven exec插件时使用的exec插件的实际版本号。
  • 第五部分包含主类,这是配置maven exec插件时使用的exec插件的主类名称。
  • 以下是我们在配置maven exec插件时需要用到的重要部分。
  1. 组名
  2. 工件名称
  3. 版本号
  4. 主类
  • 要在我们的项目中配置它,我们需要按照以下步骤进行:
  • 在pom.xml文件中添加该插件配置。
  • 通过使用exec: java目标运行Maven构建。
  • 在pom.xml文件中添加配置是非常重要的。不把配置加入pom.xml文件,我们就无法构建maven exec插件。
  • 配置中的mainClass元素是最值得注意的地方。在该部分,我们必须定义由exec运行的java类:java目标。
  • 在插件的配置中,我们可以明确地提供所有必要的执行细节。同时,我们也可以根据我们的用例,使用系统属性提供所有信息或部分信息。
  • 下面是配置时使用的可选参数,如下:
  1. addOutputToClasspath - 这个参数的类型是布尔值。
  2. addResourceToClasspath - 这个参数的类型是布尔值。
  3. arguments - 这个参数的类型是列表。
  4. async - 这个参数的类型是布尔值。
  5. asyncDestroyOnShutDown - 这个参数的类型是布尔值。
  6. classpathScope - 这个参数的类型是字符串。
  7. commandlineArgs - 这个参数的类型是字符串。
  8. environemntScript - 这个参数的类型是文件。
  9. environemntVariables - 这个参数的类型是map。
  10. executable - 该参数的类型是字符串。
  11. executableDependency - 该参数的类型是可执行的依赖性。
  12. longClasspath - 这个参数的类型是布尔值。
  13. longModulepath - 这个参数的类型是布尔值。
  14. outputFile - 这个参数的类型是文件。
  15. quietLogs - 这个参数的类型是布尔值。
  16. skip - 这个参数的类型是布尔值。
  17. sourceRoot - 这个参数的类型是文件。

例子

例子 #1 - 使用默认参数

代码

<plugin>  -- Start of plugin section
<groupId> /* Start of groupId section */ org.codehaus.mojo</groupId> -- end of groupid section.
<artifactId> /* Start of artifactId section */  exec-maven-plugin</artifactId> -- end of artifactId section.
<version> /* Start of version section */ 1.6.0 </version> -- end of version section.
<configuration>
<mainClass> /* Start of mainClass section */ com.journaldev.maven.utils.BuildInfo</mainClass> -- end of mainClass section.
</configuration> -- -- end of configuration section.
</plugin>  -- end of plugin section.

Example 1-1

# mvn exec:java

Maven exec plugin Example 1-2

例子#2 - 有可选参数

代码

<plugin>  -- Start of plugin section
<groupId> /* Start of groupId section */ org.codehaus.mojo</groupId> -- end of groupid section.
<artifactId> /* Start of artifactId section */  exec-maven-plugin</artifactId> -- end of artifactId section.
<version> /* Start of version section */ 1.6.0 </version> -- end of version section.
<configuration>
<executions>
<execution>
</configuration> -- -- end of configuration section.
</execution>
</executions>
</plugin>  -- end of plugin section.

Example 2-1

# mvn exec:java

Example 2-2

总结

从maven命令中执行java和系统代码是非常有用和重要的。有两个目标被使用,即exec:exec和exec:java。要在项目中使用它,我们需要在pom.xml文件中进行配置。