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

时间:2022-07-02 09:08:38

 通常情况下,一个java项目中,主程序只有一个,这种情况下,打包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 -classpath example03-1.0-SNAPSHOT.jar cn.vicky.example03.HelloAgent

classpath(简写-cp) <目录和 zip/jar 文件的类搜索路径>

example03-1.0-SNAPSHOT.jar   jar包

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