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

时间:2022-12-26 09:08:36

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

 

pox.xml中

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.vicky.skstatistics.money.App 这个是主程序类 </mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<finalName>SkMoneyStatistics</finalName>
</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  指定的主程序类