例如,myproject-0.0.1-SNAPSHOT.jar包是使用Spring Boot maven插件打包后的可直接执行的jar包,即,可以使用命令java -jar myproject-0.0.1-SNAPSHOT.jar来运行。

打开jar包中的MANIFEST.MF文件,内容如下:
在这里插入图片描述

  • Main-Class:这是根据jar文件规范生成的。这个属性是独立应用打包成可执行的jar包时包含的属性。可执行的jar是可以通过调用java -jar x.jar来执行。这个属性的值是主应用的类名,launcher 将在启动的时候加载该类。类名后面不要包含.class扩展名。规范参见:

https://docs.oracle.com/en/java/javase/19/docs/specs/jar/jar.html#main-attributes
在这里插入图片描述

  • Start-Class:这个属性的值指明的类中包含了main方法。例如:
package myproject.com.thb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class MyApplication {

    @RequestMapping("/")
    String home() {
        return "Hello World";
    }

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);

    }

}

更多推荐