JAVA基础-jar包和war包的区别
转载:https://juejin.cn/post/7086099522903883790
jar包:是与平台无关的文件格式,允许将多个文件组合成一个压缩文件,以zip文件格式为基础,不同的是jar文件不仅用域压缩和发布,而且还用于部署和封装库,组件和插件程序,可被像编译器和jvm这样的工具直接使用
jar就是别人写好的类,对类进行打包,可以将这些jar包引入到项目中,直接使用jar中的类和属性,一般jar包放在lib目录下
war包:是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中,如tomcat:将war包直接放在webapps目录下启动tomcat,这个包会自动解压,相当于发布。
war包是Sun提出的一种web应用程序格式,与jar类似是很多文件的压缩包。war包中的文件按照一定目录结构来组织,其目录下包含有html和jsp文件,WEB-INF目录(含有web.xml文件和classes目录(包含编译好的servlet和jsp或者servlet所依赖的其他类))
war包是javaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖包,配置文件,所有的网站页面,包括html,jsp等,一个war包可以理解为是一个web项目,里面是项目的所有东西,包含静态资源。
springboot应用使用jar是因为其不是简单的归档文件(也可将web所需的html、图片等打进包中,只是通常不这么做,在前后端分离场景下,这些静态资源会放到cdn),而是可以不依赖tomcat等应用容器,只需要java -jar即可启动web服务。更适用于微服务及云场景。
而war包才是简单的归档文件,可直接解压war包得到其内的文件,必须依靠应用容器才能启动服务。
pom:是maven依赖文件
jar:java普通项目打包
war:javaweb项目打包,打包成war包部署到服务器,目的:节省资源,提供效率
作者:秋名山车神00
链接:https://juejin.cn/post/7086099522903883790
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:静默虚空
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)