转自:https://www.cnblogs.com/banml/p/11767305.html
一、概念
jar包:JAR包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。
war包:war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。
二、目录结构
jar包里的com里放的就是class文件,配置文件,但是没有静态资源的文件,大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。
而war包里的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里还包含静态资源的文件
三、总结起来就是有两点不同:
war包和项目的文件结构保持一致,jar包则不一样。
jar包里没有静态资源的文件(index.jsp)
四、部署项目的区别
部署普通的spring项目用war包就可以,部署springboot项目用jar包就可以,因为springboot内置tomcat。