一、Jar
jar类型:
.类的归档文件(.class) test-java-1.0-SNAPSHOT-plain.jar//-plain为spring框架命名与自己的区分
.可执行的类的归档文件(.class) test-java-1.0-SNAPSHOT.jar
.文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar
.源代码包(code) test-java-1.0-SNAPSHOT-sources.jar
bootJar:
springboot框架构建的一种可执行Jar,内部包含依赖包可以直接通过: java -jar test.jar运行,但是通过maven或者gradle去拉取时如果打包时没有把依赖都加入第三方依赖jar包时,第三方依赖就会去指定的仓库拉取没有就报错
Jar:
class类Jar包,不可以执行的jar包,java -jar test.jar会提示异常,因为META-INF文件下的MANIFEST.MF文件内没有指定主函数以及不自带第三方依赖。
Tips:
JAR包可以理解为是一种压缩文件,里面包含了.class文件以及META-INF夹,可以使用解压文件打开查看,不同的框架打处理的jar包含内容不一致
二、结构
2.1SpringBoot-bootjar结构:
-> BOOT-INF:内容包含项目的class文件以及第三方所需要的依赖包
-> META-INF:MANIFEST.MF文件指定了Main-class参数以及springboot本身的参数
-> org:springBoot框架本身的class文件
2.2普通归档JAR结构:
-> cccc:包名,内容包含项目的class文件,不存在第三方所需要的依赖包
-> META-INF:MANIFEST.MF文件未指定Main-class参数只有一个Manifest-Version: 1.0参数,如果要启动:添加Main-class参数值为类名的绝对路径