使用Maven运行Java main的3种方式

翻译 2014年02月24日 23:12:09

maven使用exec插件运行java main方法,以下是3种不同的操作方式。

一、从命令行运行

1、运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成编译。

mvn compile
2、编译完成后,执行exec运行main方法。

不需要传递参数:

mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"

需要传递参数:

mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"

指定对classpath的运行时依赖:

mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.classpathScope=runtime
二、在pom.xml中指定某个阶段执行
<build>
 <plugins>
  <plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>exec-maven-plugin</artifactId>
   <version>1.1.1</version>
   <executions>
    <execution>
     <phase>test</phase>
     <goals>
      <goal>java</goal>
     </goals>
     <configuration>
      <mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
      <arguments>
       <argument>arg0</argument>
       <argument>arg1</argument>
      </arguments>
     </configuration>
    </execution>
   </executions>
  </plugin>
 </plugins>
</build>
将CodeGenerator.main()方法的执行绑定到maven的 test 阶段,通过下面的命令可以执行main方法:
mvn test
三、在pom.xml中指定某个配置来执行
<profiles>
 <profile>
  <id>code-generator</id>
  <build>
   <plugins>
    <plugin>
     <groupId>org.codehaus.mojo</groupId>
     <artifactId>exec-maven-plugin</artifactId>
     <version>1.1.1</version>
     <executions>
      <execution>
       <phase>test</phase>
       <goals>
        <goal>java</goal>
       </goals>
       <configuration>
        <mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
        <arguments>
         <argument>arg0</argument>
         <argument>arg1</argument>
        </arguments>
       </configuration>
      </execution>
     </executions>
    </plugin>
   </plugins>
  </build>
 </profile>
</profiles>
将2中的配置用<profile>标签包裹后就能通过指定该配置文件来执行main方法,如下:
mvn test -Pcode-generator

注:通过以下命令可以获取mvn exec的其他配置参数说明。
mvn exec:help -Ddetail=true -Dgoal=java

英文地址:http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/

相关文章推荐

使用maven的tomcat:run进行web项目热部署

最近又重新看了一下maven的东西,其实主要是因为去了解Jenkins,后期也许会补充jenkins的博文。 怎么在eclipse里面创建maven web工程,这边就不介绍了,参见:http://b...

使用Eclipse构建Maven项目 (step-by-step)

引 题            Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。本文仅对Eclipse中如何安装、配置和使用Maven进行了介绍。完全ste...
  • qjyong
  • qjyong
  • 2013年06月14日 21:42
  • 381078

使用maven创建javaWeb项目及运行web项目

1.新建一个Maven Project 选择Maven Project 选择maven-archetype-webapp Group Id是项目组织唯一的标识符,实际对应 Java 的包...
  • rosener
  • rosener
  • 2017年03月29日 14:14
  • 725

maven3常用命令、java项目搭建、web项目搭建详细图解

------------------------------maven3常用命令--------------------------- 1、常用命令     1)创建一个Project ...

Maven创建第一个java项目(官方教程)

翻译自:链接 Building Java Projects with Maven This guide walks you through using Maven to build a ...

将maven创建的java工程部署到tomcat中运行

1.在~/.m2/settings.xml中增加如下的Tomcat服务器配置(这里有点疑问:本地要配置tomcat-user.xml吗?网上有教程是说要配置)                t...
  • jbgtwang
  • jbgtwang
  • 2012年06月27日 17:28
  • 48074

maven 常用命令 mvn 发布可执行jar包

Maven常用命令:  1. 创建Maven的普通java项目:     mvn archetype:create     -DgroupId=packageName     -DartifactId...

mvn spring-boot:run命令停止方法

在cmd命令行或者IDEA的Terminal终端界面,使用mvn spring-boot:run命令利用spring boot框架内置的tomcat运行spring boot开发的web应用。 该we...

Maven 打包可执行 jar( Main-Class)

Maven 将java 项目打包成 jar ,并且通过java -jar 命令来执行,一般需要怎么来配置。 例子:java 项目结构 图 maven pom 配置 ...

maven 设置main class笔记

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Maven运行Java main的3种方式
举报原因:
原因补充:

(最多只允许输入30个字)