jar中包含多个main方法类时指定某个类去运行jar包
# 在MANIFEST.MF中指定入口类
假设这是一个简单的maven工程:
├── pom.xml
└── src
└── main
└── java
├── Main1.java
└── Main2.java
1
2
3
4
5
6
7
2
3
4
5
6
7
此时里面有两个包含main方法的类。使用下面的这个插件,让打包的时候默认主类入口Main1。
<!-- ...省略 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>
Main1
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 使用命令参数指定运行哪个入口类
在MANIFEST.MF
中指定入口类后,如果运行时还想更换入口类来运行jar包,使用以下命令:
java -cp target/jarmain-1.0-SNAPSHOT.jar Main2 args1 args2...
1
java --help中是这样说的
-cp <目录和 zip/jar 文件的类搜索路径>
上次更新: 2024/08/08, 06:59:58