maven打包时设置启动类
springboot项目打包后的jar包是可以通过java -jar xxx.jar命令直接启动,启动类便是标注了@SpringBootApplication注解的class;启动方法便是其中的main方法。
1、创建一个简单的maven工程实现java命令启动
2、编写main方法,打印启动参数
package org.example;
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
for(String s:args){
System.out.println(s);
}
}
}
3、pom.xml引入maven-jar-plugin插件,作用就是把启动类写到classpath/META-INF/MANIFEST.MF文件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>org.example.App</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
4、执行 mvn package进行打包得到如下产物,解压jar包可以看到classpath/META-INF/MANIFEST.MF文件中`
Main-Class`指定了main方法所在的class
5、进入jar包目录打开cmd窗口执行jar包,启动参数打印结果如下
java -jar mvt-1.0-SNAPSHOT.jar -DcreateTime:2023-08-26 -Dversion:1.0-SNAPSHOT