当我们完成一个 SpringBoot 项目之后,想打成一个 jar 包,直接使用 java -jar xxx.jar运行

如出现如下问题,说明在我们 jar包内,没有正确的生成 MANIFEST.MF文件

no main manifest attribute in xxx.jar

我们可以解压出 jar包查看 MANIFEST.MF,内容应该大致都如下:

Manifest-Version: 1.0

Created-By: Maven Archiver 3.4.0

Build-Jdk-Spec: 11

正确的情况下应该需要包含一些启动类的以及一些 SpringBoot的版本信息

看到很多网友的解决办法如下:

jar

org.springframework.boot

spring-boot-maven-plugin

只需添加这两个即可解决,但是在我这却不行,打开MANIFEST.MF依然没有启动类以及一些 SpringBoot的版本信息

如果跟我一样,则可以尝试下面方式

org.springframework.boot

spring-boot-maven-plugin

repackage

只需要在 pom.xml 里面添加这个 plugin 即可,下方是正确的 MANIFEST.MF文件内容:

Manifest-Version: 1.0

Created-By: Maven Archiver 3.4.0

Build-Jdk-Spec: 11

Main-Class: org.springframework.boot.loader.JarLauncher

Start-Class: com.xxx.Application

Spring-Boot-Version: 2.2.6.RELEASE

Spring-Boot-Classes: BOOT-INF/classes/

Spring-Boot-Lib: BOOT-INF/lib/

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: