网站首页 > 编程文章 正文
做java开发的,对jar包和war包肯定接触的不少。我们有必要对他们做一个深入的了解。现在我们整理一下。
jar包的介绍
JAR(Java Archive)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。
JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库,组件和插件程序,并可被像编译器和JVM这样的工具直接使用。在JAR中包含特殊的文件,如MAINFEST和部署描述符,用来指示工具如何处理特定的JAR.
简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包可以放在lib目录下,也可以上次到maven中央仓库中,通过pom文件引入。
war包介绍
war包时一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以tomcat为例来说,将war包部署在其/webapps/目录下,然后启动tomcat,这个包就会自动解压,就相当于发布了。
war包时sun提出的一种web应用程序格式,与jar包类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录则包含编译好的servlet类和jsp文件,或者servlet所依赖的其他类。通常这些依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。
简单来说,war包是javaweb程序打的包,war包里边含有写好的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。
jar包和war包的区别
1.JAR文件的目的是把类和相关的资源封装到压缩的归档文件中。而对于war文件来说,一个war文件代表一个web应用程序,它可以包含servlet,html页面,java类,图像文件,以及组成web应用程序的其他资源,而不仅仅是类的归档文件。
2.打包jar有两种,包含main入口的和不包含main入口的(比如一些jar是直接类库引用的,不需要执行,这些就不用包含main入口。包含main入口也叫做可执行jar文件)。
3.jar文件包含一个META-INF/MANIFEST.MF文件,这个文件是在生产jar文件的时候自动创建的。
猜你喜欢
- 2025-03-30 JavaEE概述总结:Servlet生命周期+JSP内置对象
- 2025-03-30 Java文件上传是如何实现的?(java实现上传文件到服务器)
- 2025-03-30 Spring框架系列(5) - 深入浅出SpringMVC请求流程和案例
- 2025-03-30 MyEclipse中文教程六:新建Maven Web项目的步骤
- 2025-03-30 Clickhouse入门(clickhouse深度揭秘)
- 2025-03-30 讲讲maven(讲讲自己的第一次经历和对象)
- 2025-03-30 Shiro学习系列教程三:集成web(shiro 集群)
- 2025-03-30 Servlet 容器(servlet容器的功能)
- 2025-03-30 Java杂谈(八)--Servlet/Jsp(jsp中servlet)
- 2025-03-30 Tomcat处理HTTP请求流程解析(tomcat解析http请求header错误)
你 发表评论:
欢迎- 05-142014年最流行前端开发框架对比评测
- 05-14七爪源码:如何使用 Next.js 构建 Shopify 店面
- 05-14Web 前端怎样入门?
- 05-14我为什么不建议你使用框架
- 05-14推荐几个好用的React UI 框架
- 05-14PDFsharp:强大的 .NET 跨平台 PDF 处理库
- 05-14一组开源免费的Web动画图标,荐给需要的设计师和程序员
- 05-14salesforce 零基础学习(二十九)Record Types简单介绍
- 最近发表
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)