zoukankan      html  css  js  c++  java
  • 使用Maven运行Java main的3种方式

    转,原文:http://blog.csdn.net/qbg19881206/article/details/19850857

    maven 创建一个新的项目:

        mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

      

    ---------------------------------------------------------------------------

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

    一、从命令行运行

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

    [plain] view plain copy
     
    1. mvn compile  

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

    不需要传递参数:

    [plain] view plain copy
     
    1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"  

    需要传递参数:

    [plain] view plain copy
     
    1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"  

    指定对classpath的运行时依赖:

    [plain] view plain copy
     
    1. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.classpathScope=runtime  

    二、在pom.xml中指定某个阶段执行

    [html] view plain copy
     
    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
     
    1. mvn test  

    三、在pom.xml中指定某个配置来执行

    [html] view plain copy
     
    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
     
    1. mvn test -Pcode-generator  


    注:通过以下命令可以获取mvn exec的其他配置参数说明。

    [plain] view plain copy
     
      1. mvn exec:help -Ddetail=true -Dgoal=java  
  • 相关阅读:
    Match function in R
    Excel lastindex of a substring
    Print a file's last modified date in Bash
    IQR(Inter-Quartile Range)
    nohup 让进程在后台可靠运行的几种方法
    extension(类扩展)和 category(类别)
    Dart学习-操作符
    为什么我觉得Python烂的要死?
    自定义 Cordova插件(基础篇)
    Cordova入门系列(四)自定义Cordova插件--showToast
  • 原文地址:https://www.cnblogs.com/oxspirt/p/7807739.html
Copyright © 2011-2022 走看看