一、SpringBoot打包jar运行报错

SpringBoot项目打包成jar包后,运行时可能会出现报错:“no main manifest attribute,in XXX.jar”,即没有主清单属性,这是由于在打包时没有指定main class,导致jar包里没有主清单属性。

二、主清单属性的作用

主清单属性是指在jar包的META-INF/MANIFEST.MF文件中的Main-Class属性,它指定了jar包的入口类,可以让java命令可以执行jar包,而不需要指定主类。

三、解决方案

1、在pom.xml文件中添加maven-jar-plugin插件,指定主类:

2、在application.properties文件中添加配置:

3、在SpringBoot的启动类上添加@SpringBootApplication注解,并在注解上添加scanBasePackages属性:

4、也可以在打包时使用命令指定主类:

以上4种方法都可以解决SpringBoot打包jar运行时提示没有主清单属性的问题。