打包含有多个main程序的jar包运行方式

时间:2022-07-11 09:11:17

一个项目中,往往主程序不只一个。打包jar时,一般需要指定主程序。拿maven来说,配置主程序的方式如下:

 pox.xml中

[html] view plain copy
  1. <build>  
  2.         <plugins>  
  3.             <plugin>  
  4.                 <groupId>org.apache.maven.plugins</groupId>  
  5.                 <artifactId>maven-shade-plugin</artifactId>  
  6.                 <executions>  
  7.                     <execution>  
  8.                         <phase>package</phase>  
  9.                         <goals>  
  10.                             <goal>shade</goal>  
  11.                         </goals>  
  12.                         <configuration>  
  13.                             <transformers>  
  14.                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
  15.                                     <mainClass>cn.vicky.skstatistics.money.App  这个是主程序类 </mainClass>  
  16.                                 </transformer>  
  17.                             </transformers>  
  18.                         </configuration>  
  19.                     </execution>  
  20.                 </executions>  
  21.             </plugin>  
  22.         </plugins>  
  23.         <finalName>SkMoneyStatistics</finalName>  
  24.     </build>  


 

可以通过双击方式运行jar程序。

 

如果一个jar中含有多个主程序,而你没有配置默认主程序,或者想要运行指定主程序,则可以通过如下命令执行:

Java -cp example03-1.0-SNAPSHOT.jar cn.vicky.example03.HelloAgent

-cp <目录和 zip/jar 文件的类搜索路径>

example03-1.0-SNAPSHOT.jar   jar包

cn.vicky.example03.HelloAgent  指定的主程序类