当前位置: 首页 > article >正文

打包方式-jar和war的区别

1、jar包

JAR包是类的归档文件,与平台无关的文件格式,其实jar包就是java的类进行编译生成的class文件进行打包的压缩包。

JAR以ZIP文件格式为基础,与ZIP不同的是,JAR不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,可以被编译器和JVM直接使用。可以将这些jar包引入到自己的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。

2、war包

war包是JavaWeb程序打的包,是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。
以tomcat为例,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。

3、区别

3.1 从概念上理解
  • JAR包是类的归档文件
  • war包是JavaWeb程序打的包。
3.2 从解压后的目录结构看
  • jar包:
  • ①jar包里的com里放的就是class文件
    ②配置文件,但是没有静态资源的文件
    ③大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息
  • war包
  • ①WEB-INF里放的class文件和配置文件
    ②META-INF和jar包作用一样
    ③war包里还包含静态资源的文件
3.3 总结
  1. war包和项目的文件结构保持一致,jar包则不一样
  2. jar包里没有静态资源的文件(index.jsp)
  3. 一个web应用程序的目录和文件很多,想要将这个web应用程序部署到另一台机器上就很麻烦,这时可以将web应用程序打包成WAR文件,利用这个文件可以把servlet类文件和相关的资源集中在一起进行发布。这个过程中,web应用程序就不是按照目录层次结构惊醒部署的,而是把WAR文件作为部署单元来使用。一个WAR文件就是一个web应用程序,建立WAR文件就是把整个web应用程序压缩起来,指定一个.war扩展名。
  4. 虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含 Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件
  5. 部署普通的spring项目用war包就可以,部署springboot项目用jar包就可以,因为springboot内置tomcat

 

 


http://www.kler.cn/news/365028.html

相关文章:

  • vue3 选中对话框时,对话框右侧出一个箭头
  • 基于springboot企业微信SCRM管理系统源码带本地搭建教程
  • django5入门【01】环境配置
  • 【AI服务器】全国产PCIe 5.0 Switch SerDes 测试和分析,以11槽PCIe GPU底板(PCIe 4.0/5.0)为例(二)
  • 新增Python运行环境、支持病毒扫描和计划任务短信告警,1Panel开源面板v1.10.20 LTS版本发布
  • Lua for循环语句
  • oracle数据库---PL/SQL、存储函数、存储过程、触发器、定时器job、备份
  • 做网站怎么做?
  • VSCode设置用鼠标滚轮控制字体大小
  • 安全见闻---清风
  • 记一次AWS服务器扩容
  • Lua数字
  • xtu oj 分段
  • ScrollView 真机微信小程序无法隐藏滚动条
  • 记一次js泄露pass获取核心业务
  • API接口开发系列文章:构建高效、安全、可扩展的服务
  • 测试必需要掌握的 Linux 操作系统知识笔记
  • ACL访问控制
  • MATLAB——入门知识
  • linux(ubuntu)部署GraphHopper-9.1
  • 基于RK3588/算能BM1684 AI盒子:综合视频智能AI分析系统建设方案(二)烟火检测、物品遗留、车道占用
  • RabbitMQ深层浅讲【通俗易懂】
  • 【代码随想录Day48】图论Part01
  • Pytorch复习
  • Python自动化测试+邮件推送+企业微信推送+Jenkins
  • 如何做出高质量的PPT报告