Spring Boot打包jar中没有主清单属性

一、问题

当执行java -jar xxx.jar命令时,出现jar中没有主清单属性

jar中没有清单属性
# 二、问题分析
jar内部目录

BOOT-INF:主要包括项目class文件和项目依赖的lib jar文件
META-INF:主要是项目的pom.xml文件和清单属性文件
org.springframework.boot.*:主要存放spring的一下相关.class文件

清单属性是在打包是被maven自动打包进jar包中的,没有清单属性,说明maven install 打包时没有执行成功。

清单属性
Manifest-Version: 1.0 //版本
Implementation-Title: blog-web //jar名称
Implementation-Version: 2.2.2 //jar版本号
Built-By: Progress//构建者
Implementation-Vendor-Id: com.blog
Spring-Boot-Version: 2.0.8.RELEASE //spring-boot 版本
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.zyd.blog.BlogWebApplication //程序启动类
Spring-Boot-Classes: BOOT-INF/classes/ //代码.class文件位置
Spring-Boot-Lib: BOOT-INF/lib/ //依赖jar存放位置
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_121 //JDK版本
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
 ot-starter-parent/blog/blog-web

三、解决

问题排查:

  1. pom.xml

     
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.blog.BlogWebApplication
                    JAR
                    
                    true
                
      
    

    检查pom.xml中是否配置了spring-boot-maven-plugin插件

  2. maven 环境


    maven

    点击刷新按钮,查看是否有为安装的maven插件;

    点击clean清理项目;

    点击install,确保下载的相关jar文件都下载成功,并查看是否编译成jar文件;

    解压jar文件,查看是否有清单属性文件。

你可能感兴趣的:(Spring Boot打包jar中没有主清单属性)