使用Spring Boot微服务搭建框架,在eclipse和ldea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxXxxx.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
lmplementation-Title: spring-xXX-XXX
lmplementation-Version: 0.0.1-SNAPSHOTArchiver-Version: Plexus Archiver
Built-By: XXXX
lmplementation-Vendor-ld: com.huyikang.practiceSpring-Boot-Version: 1.5.9.RELEASE
lmplementation-Vendor: Pivotal Software, Inc.
Main-Class: org.springframework.boot.loader.JarLauncherStart-Class: com.huyikang.practice.eureka.ApplicationSpring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/libi
Created-By: Apache Maven 3.5.2Build-Jdk: 1.8.0_151
lmplementation-URL: http://maven.apache.org
Main-Class代表了Spring Boot中启动jar包的程序
Start-Class属性就代表了Spring Boot程序的入口类,这个类中应该有一个main方法
,Spring-Boot-Classes代表了类的路径,所有编译后的class文件,以及配置文件,都存储在该路径下. Spring-Boot-Lib表示依赖的jar包存储的位置
参考:https://download.csdn.net/download/weixin_38719564/12727821