使用Spring Boot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxxxxx.jar中没有主清单属性:

D:\hu-git\spring-xxx-xxx\target>java -jar spring-cloud-eureka-0.0.1-SNAPS

HOT.jar

spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性

通过maven打jar包:mvn install, 或者在IDE中右击选择Run as -> maven install。

在这里有一个问题就是主清单属性是什么?

以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的要求,生成这些必须的属性。

解决办法:

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

org.springframework.boot

spring-boot-maven-plugin

在运行mvn install的时候,自动生成这些主清单属性,运行java -jar xxx.jar时会根据主清单属性找到启动类,从而启动程序。

到此这篇关于Spring Boot jar中没有主清单属性的解决的文章就介绍到这了,更多相关Spring Boot jar 主清单属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

java jar 没有主清单属性_Spring Boot jar中没有主清单属性的解决方法相关推荐

  1. Thinkpad开机停在boot menu界面|进不了系统的解决方法

    Thinkpad开机停在boot menu界面|进不了系统的解决方法 平原流风操作系统, 系统维护1条评论 [问题描述]: 最近在将Thinkpad E430c的ubuntu系统重装成windows ...

  2. 基于继承类的属性模版中无法绑定的原因和解决方法

    原文:基于继承类的属性模版中无法绑定的原因和解决方法 这个的晚上想学学WPF 做一个类似于ERP 左边菜单.构思一下思路 ...... 创建一个类基于Expander类. 1 public class ...

  3. Oracle中给表添加主键 外键,给表中添加主键、外键

    1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar ...

  4. 电脑出现All boot options are trled.黑屏不能开机解决方法

    电脑出现All boot options are trled.黑屏不能开机解决方法 电脑开机出现All boot options are trled 电脑开机出现All boot options ar ...

  5. java 转换gbk编码,java中GBK转UTF-8乱码的解决方法

    java中GBK转UTF-8乱码的解决方法 如果自己采用的是GBK编码,对方采用得到是UTF-8编码,发送数据时需要将GBK编码数据转换成UTF-8编码数据,这样对方才不会乱码. 问题出现:GBK转U ...

  6. java项目中红色感叹号_Eclipse中项目名出现红色感叹号解决方法

    Eclipse中正在使用的项目,项目名那里出现了红色感叹号?怎么去除?下面就随东坡小编一起来看看Eclipse中项目名出现红色感叹号解决方法. 问题原因 工程中classpath中指向的包路径错误 ...

  7. springboot jar中没有主清单属性_Spring Boot 常见错误及解决方法

    导读 Spring Boot 作为 Java 生态中最流行的开发框架,意味着被数以万计的开发者所使用.下面根据我们自身遇到的问题,加上用户提供的一些反馈,来大致梳理下 Spring Boot 的常见错 ...

  8. java fileinputstream 安全管理器校验失败_Spring Boot 如何做参数校验?

    作者:狂乱的贵公子 cnblogs.com/cjsblog/p/8946768.html 整编:Java技术栈微信公众号 1 背景介绍 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这 ...

  9. java oom_Java中常见OOM的场景及解决方法

    OOM for Heap  (java.lang.OutOfMemoryError: Java heap space) 分析 此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调 ...

最新文章

  1. 运动是如何改造我们的大脑?
  2. asp.net 页面全生命周期
  3. mysql事务服务_MySQL (事务篇)
  4. Go语言中的注释类型和代码风格
  5. 使用Platform Builder配置Windows CE操作系统
  6. javascript捕获事件event
  7. python下载数据集出现:Compressed file ended before the end-of-stream marker was reached
  8. 怎么在知网上下载pdf格式的论文
  9. 微pe工具箱 系统安装教程_【微pe安装系统教程】微pe安装系统教程win7_微pe装系统教程...
  10. Unity Shader - shader forge - #pragma only_renderers 和 exclude_renderers - 导致像素全黑
  11. C++实现截图截屏功能汇总
  12. 你以为你了解Kaggle吗?| 超级干货
  13. GoLang - Go中Mocking(1)
  14. live2d在vue中的运用
  15. 【经验】金蝶KIS专业版更换系统后如何导入财务账套数据
  16. java反射机制原理,为什么需要反射,反射的作用
  17. 杭电1099_杭电数学题合集
  18. librosa、nnAudio、torchAudio三者的差异
  19. Keepalived+LVS-DR模式配置高可用负载均衡集群
  20. 十个计算机快捷键,10个常用的电脑快捷键,学会了可以让你进一步提升工作效率...

热门文章

  1. 转:EXCEL数据有效性设置
  2. 测试用例设计--判定表
  3. java stream 多个filter_如何在Java Stream上应用多个过滤器?
  4. 计算机网络IP分配大题,2018年IP分片网络大题
  5. python hstack_Python小白数据科学教程:NumPy (下)
  6. 商用计算机低温工作,突破量子计算机瓶颈!超低温芯片能在接近绝对零度的温度下工作...
  7. 详解Python操作Excel文件
  8. 网络协议及IP地址分类
  9. 链表的一些leetcode题目+python(c++)
  10. MySQL流浪记(一)—— 初步认识数据库的内涵