您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

java中的jar包,war包详解

时间:2019-12-31 17:03:21  来源:  作者:

JAVA开发的,对jar包和war包肯定接触的不少。我们有必要对他们做一个深入的了解。现在我们整理一下。

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文件的时候自动创建的。



Tags:jar包   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
现在Java Web开发一般都是用Springboot框架,部署应用时使用Jar包(Java ARchive),也就是Java归档文件,而不是使用War包(打包格式的Java web工程)。War包结构Jar包和War包的主要区别...【详细内容】
2021-07-13  Tags: jar包  点击:(227)  评论:(0)  加入收藏
前言工作中终于遇到比较好玩的东西了,最近被给了一个需求,将pom中的第三方依赖移到外面而不直接打包进jar包。那直接打包有什么问题吗?下面我们一起来看看。 直接打包的缺点首...【详细内容】
2021-05-27  Tags: jar包  点击:(193)  评论:(0)  加入收藏
一、制作只含有字节码文件的jar包我们先来看只含有字节码文件,即只含有class文件的jar包怎么制作,这是最简单的形式1、最简单的jar包——直接输出hello最终生成的ja...【详细内容】
2021-04-29  Tags: jar包  点击:(255)  评论:(0)  加入收藏
每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar……?边敲边想着都需要追加哪些参数?今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程...【详细内容】
2021-01-18  Tags: jar包  点击:(161)  评论:(0)  加入收藏
java程序员每天不是在创建jar包就是在创建jar包的路上,并且各种依赖引用都是以jar包的形式展示的。但是随着现代IDE的出现,我想很多程序员已经基本上很少直接和jar包打交道了...【详细内容】
2020-08-21  Tags: jar包  点击:(75)  评论:(0)  加入收藏
日期:2020.06.01说明:简单描述如何编译1 在Module的build.gradle添加编译jar代码task makeJar(type: Copy) { //删除存在的 delete '../CommonLib/libXXX.jar'...【详细内容】
2020-06-02  Tags: jar包  点击:(125)  评论:(0)  加入收藏
做java开发的,对jar包和war包肯定接触的不少。我们有必要对他们做一个深入的了解。现在我们整理一下。 jar包的介绍JAR(Java Archive)是与平台无关的文件格式,它允许将许多文件...【详细内容】
2019-12-31  Tags: jar包  点击:(72)  评论:(0)  加入收藏
业务背景随着业务的发展 和 架构的升级, 业务会越来越多的依赖公司内部提供的 中间件 ,如 rpc服务框架、分库分表框架、异步消息框架、公共工具包等等。每个中间件都有自己的...【详细内容】
2019-10-24  Tags: jar包  点击:(186)  评论:(0)  加入收藏
▌简易百科推荐
面向对象的特征之一封装 面向对象的特征之二继承 方法重写(override/overWrite) 方法的重载(overload)和重写(override)的区别: 面向对象特征之三:多态 Instanceof关键字...【详细内容】
2021-12-28  顶顶架构师    Tags:面向对象   点击:(2)  评论:(0)  加入收藏
一、Redis使用过程中一些小的注意点1、不要把Redis当成数据库来使用二、Arrays.asList常见失误需求:把数组转成list集合去处理。方法:Arrays.asList 或者 Java8的stream流式处...【详细内容】
2021-12-27  CF07    Tags:Java   点击:(3)  评论:(0)  加入收藏
文章目录 如何理解面向对象编程? JDK 和 JRE 有什么区别? 如何理解Java中封装,继承、多态特性? 如何理解Java中的字节码对象? 你是如何理解Java中的泛型的? 说说泛型应用...【详细内容】
2021-12-24  Java架构师之路    Tags:JAVA   点击:(5)  评论:(0)  加入收藏
大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享JVM调优方面的经验。JVM调优是个大话题,涉及的知识点很庞大 Java内存模型 垃圾回收机制 各种工具使用 ...【详细内容】
2021-12-23  小码匠和老码农    Tags:JVM调优   点击:(11)  评论:(0)  加入收藏
前言JDBC访问Postgresql的jsonb类型字段当然可以使用Postgresql jdbc驱动中提供的PGobject,但是这样在需要兼容多种数据库的系统开发中显得不那么通用,需要特殊处理。本文介绍...【详细内容】
2021-12-23  dingle    Tags:JDBC   点击:(13)  评论:(0)  加入收藏
Java与Lua相互调用案例比较少,因此项目使用需要做详细的性能测试,本内容只做粗略测试。目前已完成初版Lua-Java调用框架开发,后期有时间准备把框架进行抽象,并开源出来,感兴趣的...【详细内容】
2021-12-23  JAVA小白    Tags:Java   点击:(11)  评论:(0)  加入收藏
Java从版本5开始,在 java.util.concurrent.locks包内给我们提供了除了synchronized关键字以外的几个新的锁功能的实现,ReentrantLock就是其中的一个。但是这并不意味着我们可...【详细内容】
2021-12-17  小西学JAVA    Tags:JAVA并发   点击:(11)  评论:(0)  加入收藏
一、概述final是Java关键字中最常见之一,表示“最终的,不可更改”之意,在Java中也正是这个意思。有final修饰的内容,就会变得与众不同,它们会变成终极存在,其内容成为固定的存在。...【详细内容】
2021-12-15  唯一浩哥    Tags:Java基础   点击:(17)  评论:(0)  加入收藏
1、问题描述关于java中的日志管理logback,去年写过关于logback介绍的文章,这次项目中又优化了下,记录下,希望能帮到需要的朋友。2、解决方案这次其实是碰到了一个问题,一般的情况...【详细内容】
2021-12-15  软件老王    Tags:logback   点击:(19)  评论:(0)  加入收藏
本篇文章我们以AtomicInteger为例子,主要讲解下CAS(Compare And Swap)功能是如何在AtomicInteger中使用的,以及提供CAS功能的Unsafe对象。我们先从一个例子开始吧。假设现在我们...【详细内容】
2021-12-14  小西学JAVA    Tags:JAVA   点击:(22)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条