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

转载自 Java Dynamic的专栏不积跬步,无以至千里;不积小流,无以成江海。


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

一、从命令行运行

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

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn compile  
2、编译完成后,执行exec运行main方法。

不需要传递参数:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"  

需要传递参数:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"  

指定对classpath的运行时依赖:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.classpathScope=runtime  
二、 在pom.xml中指定某个阶段执行
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <build>  
  2.  <plugins>  
  3.   <plugin>  
  4.    <groupId>org.codehaus.mojo</groupId>  
  5.    <artifactId>exec-maven-plugin</artifactId>  
  6.    <version>1.1.1</version>  
  7.    <executions>  
  8.     <execution>  
  9.      <phase>test</phase>  
  10.      <goals>  
  11.       <goal>java</goal>  
  12.      </goals>  
  13.      <configuration>  
  14.       <mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>  
  15.       <arguments>  
  16.        <argument>arg0</argument>  
  17.        <argument>arg1</argument>  
  18.       </arguments>  
  19.      </configuration>  
  20.     </execution>  
  21.    </executions>  
  22.   </plugin>  
  23.  </plugins>  
  24. </build>  
将CodeGenerator.main()方法的执行绑定到maven的 test 阶段,通过下面的命令可以执行main方法:
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn test  
三、 在pom.xml中指定某个配置来执行
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <profiles>  
  2.  <profile>  
  3.   <id>code-generator</id>  
  4.   <build>  
  5.    <plugins>  
  6.     <plugin>  
  7.      <groupId>org.codehaus.mojo</groupId>  
  8.      <artifactId>exec-maven-plugin</artifactId>  
  9.      <version>1.1.1</version>  
  10.      <executions>  
  11.       <execution>  
  12.        <phase>test</phase>  
  13.        <goals>  
  14.         <goal>java</goal>  
  15.        </goals>  
  16.        <configuration>  
  17.         <mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>  
  18.         <arguments>  
  19.          <argument>arg0</argument>  
  20.          <argument>arg1</argument>  
  21.         </arguments>  
  22.        </configuration>  
  23.       </execution>  
  24.      </executions>  
  25.     </plugin>  
  26.    </plugins>  
  27.   </build>  
  28.  </profile>  
  29. </profiles>  
将2中的配置用<profile>标签包裹后就能通过指定该配置文件来执行main方法,如下:
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn test -Pcode-generator  

注:通过以下命令可以获取mvn exec的其他配置参数说明。
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mvn exec:help -Ddetail=true -Dgoal=java  

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值