maven打包时设置启动类

777 阅读1分钟

maven打包时设置启动类

springboot项目打包后的jar包是可以通过java -jar xxx.jar命令直接启动,启动类便是标注了@SpringBootApplication注解的class;启动方法便是其中的main方法。

1、创建一个简单的maven工程实现java命令启动

image.png

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 image.png

5、进入jar包目录打开cmd窗口执行jar包,启动参数打印结果如下

java -jar mvt-1.0-SNAPSHOT.jar -DcreateTime:2023-08-26 -Dversion:1.0-SNAPSHOT

image.png