SpringBoot 的 jar 包为什么可以直接运行?
一、普通jar包和SpringBoot jar包有什么区别?什么是jar包??
(1)什么是Jar包?
定义:
JAR 包(Java Archive) 是 Java 平台标准的归档文件格式,用于将多个 Java 类文件、资源文件(如配置文件、图片等)、元数据(如清单文件)和其他依赖打包成一个独立的压缩文件。它是 Java 生态中代码分发、部署和运行的核心载体。
结构:
- 类文件:包含 Java 类的字节码文件,扩展名为
.class
。这些类文件是 Java 程序的核心,包含了程序的逻辑代码。 - 资源文件:如配置文件(
.properties
、.xml
等)、图片文件(.jpg
、.png
等)、音频文件(.mp3
、.wav
等)。这些资源文件可以被 Java 程序在运行时读取和使用。 - 清单文件:位于
META - INF/MANIFEST.MF
,它是一个文本文件,包含了 JAR 包的元数据信息,如版本号、主类、依赖的库等。清单文件在 JAR 包的使用和管理中起着重要的作用。
JAR 文件本质是一个 ZIP 压缩包,可通过标准 ZIP 工具(如 jar
、unzip
)创建、解压或查看内容
jar tf example.jar # 查看 JAR 内容
unzip -l example.jar # 解压查看结构
(2) 普通jar包和SpringBoot jar包有什么区别
特性 | 普通 JAR | 可执行 JAR(如 Spring Boot) |
---|---|---|