一、概念

    1. jar 包:JAR 包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。
    2. war 包: war 包是 JavaWeb 程序打的包,war 包里面包括写的代码编译成的 class 文件,依赖的包,配置文件,所有的网站页面,包括 html,jsp 等等。一个 war 包可以理解为是一个 web 项目,里面是项目的所有东西。

    二、目录结构

    1. jar 包里的 com 里放的就是 class 文件,配置文件,但是没有静态资源的文件, 大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。
    2. 而 war 包里的 WEB-INF 里放的 class 文件和配置文件,META-INF 和 jar 包作用一样,war 包里还包含静态资源的文件

    三、总结起来就是有两点不同:

    1. war 包和项目的文件结构保持一致,jar 包则不一样。
    2. jar 包里没有静态资源的文件(index.jsp)

    四、部署项目的区别

    1. 部署普通的 spring 项目用 war 包就可以,部署 springboot 项目用 jar 包就可以,因为 springboot 内置 tomcat。

    作者:小白班班

    原文链接:jar 包和 war 包的区别 - 小白班班 - 博客园 jar 包和 war 包的区别 - 小白班班 - 博客园

    来自:博客园

    发布于 08-31
    https://zhuanlan.zhihu.com/p/208662727