首页 > 其他分享 >spring-boot-01-helloworld-1.0-SNAPSHOT.jar中没有主清单属性【解决方案】

spring-boot-01-helloworld-1.0-SNAPSHOT.jar中没有主清单属性【解决方案】

时间:2022-09-18 15:00:52浏览次数:107  
标签:01 1.0 spring boot Boot jar 清单 属性

问题

D:> java -jar spring-boot-01-helloworld-1.0-SNAPSHOT.jar

spring-boot-01-helloworld-1.0-SNAPSHOT.jar中没有主清单属性

在这里有一个问题就是主清单属性是什么?
以SpringBoot为例,jar包中包含了三个文件夹:BOOT-INF,META-INF,org,可以把jar包解压到文件夹下查看,其中META-INF文件夹下有一个MANIFEST.MF文件,该文件指明了程序的入口以及版本信息等内容,如下


Manifest-Version: 1.0
Implementation-Title: spring-xxx-xxx
Implementation-Version: 0.0.1-SNAPSHOT
Archiver-Version: Plexus Archiver
Built-By: XXXX
Implementation-Vendor-Id: com.huyikang.practice
Spring-Boot-Version: 1.5.9.RELEASE
Implementation-Vendor: Pivotal Software, Inc.
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.huyikang.practice.eureka.Application
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Created-By: Apache Maven 3.5.2
Build-Jdk: 1.8.0_151
Implementation-URL: http://maven.apache.org
Main-Class代表了Spring Boot中启动jar包的程序
Start-Class属性就代表了Spring Boot程序的入口类,这个类中应该有一个main方法
Spring-Boot-Classes代表了类的路径,所有编译后的class文件,以及配置文件,都存储在该路径下
Spring-Boot-Lib表示依赖的jar包存储的位置
这些值都是SpringBoot打包插件会默认生成的,如果没有这些属性,SpringBoot程序自然不能运行,就会报错:jar中没有主清单属性,也就是说没有按照SpringBoot的要求,生成这些必须的属性。

错误原因:

我使用的插件不能按照SpringBoot的要求打包

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

解决办法:

在pom中添加一个SpringBoot的构建的插件,然后重新运行 mvn install即可。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
在运行mvn install的时候,自动生成这些主清单属性,运行java -jar xxx.jar时会根据主清单属性找到启动类,从而启动程序。

参考文章(2条消息) Spring Boot:jar中没有主清单属性_我是蚁人的博客-CSDN博客_中没有主清单属性
————————————————
版权声明:本文为CSDN博主「小鲁蛋儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51409098/article/details/125790321

标签:01,1.0,spring,boot,Boot,jar,清单,属性
From: https://www.cnblogs.com/cattlecyc/p/16704803.html

相关文章

  • SpringBoot集成ffmpeg实现视频转码播放
    背景之前构建过文件预览服务,对于视频部分前端播放组件限制只能为mp4格式,为了支持更多视频格式决定对方案进行升级,由于视频格式较多,针对每一种格式定制选择播放器不太现实,......
  • 20201220蔡笃俊《信息安全系统设计与实现》第十章学习笔记
    一、任务内容自学教材第10章,提交学习笔记(10分)大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈......
  • SQL2008至SQL2019缩小日志
    USEabframeworkf2DECLARE@LogFileLogicalNamesysnameSELECT@LogFileLogicalName=NameFROMsys.database_filesWHEREType=1PRINT@LogFileLogicalNameDBCCSHRINK......
  • NOIP 2012 Vigenère 密码
    //(waterproblem)#include<bits/stdc++.h>//#pragmaGCCoptimize(3)usingnamespacestd;intmain(){ strings1,s2; getline(cin,s1);getline(cin,s2); intl1......
  • NOIP 2015 神奇的幻方
    #include<bits/stdc++.h>usingnamespacestd;intn,a[40][40],x,y;intmain(){ cin>>n; x=1,y=(n+1)/2; for(inti=1;i<=n*n;i++){ a[x][y]=i; if(!a[(x-2+n)%n......
  • Spring入门案例(二)
    1、bean的作用域scope, singleton:单例(默认)先创建/prototype:非单例,用的时候在创建<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.......
  • springboot+vue竞赛报名系统 java学科比赛报名系统 网上比赛管理系统 比赛评分系统 竞
    ......
  • Spring入门案例(一)
    1、导入maven坐标 <dependency>    <groupId>org.springframework/groupId>    <artifactId>spring-context</artifactId>    <version>5.1.9.RELEASE<versi......
  • 算法中的最优化方法01
    算法中的最优化方法0100课程简介优化尽可能用最佳的方式处理一下事项计算机中基于优化的算法多准则控制器的设计模糊建模中的聚类机器人轨迹规划流程工业中的调度......
  • Java【Spring】——@Component系列注解
    最近学习到 @Component,以及系列注解: @Controller  @Service  @Repository,这些注解的作用时是实例化接口到Spring容器中。事实上, @Controller  @Service  ......