原标题:java中jar包和war包之间有什么区别

jar包

简单地说,JAR(Java Archive)是一种包文件格式。JAR文件具有.jar扩展名,可以包含库、资源和元数据文件。

本质上,它是一个压缩文件,包含压缩版本的.class文件和编译后的Java库和应用程序的资源。

例如,下面是一个简单的JAR文件结构:

META-INF/

MANIFEST.MF

com/

baeldung/

MyApplication.class

其中,在META-INF/manifest.mf文件小红可能包含有关存档中存储的文件的其他元数据。

我们可以使用jar命令或maven等工具来创建jar文件。

war包

war代表Web应用程序存档或Web应用程序资源。这些存档文件具有.war扩展名,用于打包我们可以部署在任何servlet/jsp容器上的Web应用程序。

下面是一个典型的WAR文件结构的布局示例:

META-INF/

MANIFEST.MF

WEB-INF/

web.xml

jsp/

helloWorld.jsp

classes/

static/

templates/

application.properties

lib/

// *.jar files as libs

在内部,它有一个META-INF目录,在manifest.mf中保存着关于web存档的的有用信息。META-INF目录是私有的,无法从外部访问。

另一方面,它还包含WEB-INF公共目录,其中包含所有静态Web资源,包括HTML页面、图像和JS文件。此外,它还包含web.xml文件、servlet类和库。

我们可以使用与构建JAR时相同的工具和命令来构建war文件。

java中jar包和war包的区别

1、文件扩展名不同

JAR具有.jar扩展名,而WAR文件具有.war扩展名。

2、目的和运作方式不同

JAR文件允许我们打包多个文件,以便将其用作库,插件或任何类型的应用程序。另一方面,WAR文件仅用于Web应用程序,一个war包可以理解为是一个web项目,里面是项目的所有东西。。

3、文件的结构也不同

我们可以创建具有任何所需结构的JAR。相比之下,WAR具有WEB-INF和META-INF目录的预定义结构。返回搜狐,查看更多

责任编辑:

java jar包和war包_java中jar包和war包之间有什么区别相关推荐

  1. java 静态变量和非静态_Java中静态和非静态变量之间的区别

    变量为我们提供了程序可以操纵的命名存储.Java中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局.可以存储在该内存中的值的范围:以及可以应用于该变量的一组操作. 静态变量 静态变量也称为 ...

  2. Java中jar包怎么使用_java中jar包的使用方法

    java中jar包的使用方法 发布时间:2020-06-23 11:08:05 来源:亿速云 阅读:162 作者:Leah 这篇文章将为大家详细讲解有关java中jar包的使用方法,小编觉得挺实用的, ...

  3. java包是什么意思_java中的“包”到底是什么意思?

    Java包的概念 为了更好的组织类,Java提供了包机制.包是类的容器,用于分隔类名空间.如果没有指定包名,所有示例都属于一个默认的无名包.Java中的包一般包含相关的类.例如,所有关于车辆的类都可以 ...

  4. java同一个包是什么意思_java中包到底是什么意思?包访问权限又是什么意思,有C++基础。...

    展开全部 是否是说62616964757a686964616fe4b893e5b19e31333335303535 first.java中有A B C 三个类,second.java中有D E F 三 ...

  5. java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...

  6. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  7. java窗口向mysql加信息_Java中如何实现向DBC方式向表中添加数据

    原标题:Java中如何实现向DBC方式向表中添加数据 Java中如何实现向DBC方式向表中添加数据 Java程序JDBC方式向数据库的表添加记录的步骤: 1.新建工程: Java Project 2. ...

  8. python3.7下载包的命令_python3.7中安装paddleocr及paddlepaddle包的多种方法

    升级pip pip版本必须升级到20.0.4版本才能应用: 方法一.在pycharm中对pip进行升级: 方法二.通过命令进行升级 python3.7 -m pip install --upgrade ...

  9. java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...

    最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...

最新文章

  1. 008_Spring Data JPA原生SQL
  2. 小马哥的 Java 项目实战学习笔记
  3. ping cat.flag.php,关于2020年强网杯-强网先锋-主动的赛题解析
  4. flask-whooshalchemy需要注意的一点
  5. C++之对象的动态建立和释放
  6. jQuery复制table header到表格的最下面
  7. 关于主窗体与子窗体之间的通信以及面向对象思想的一些应用
  8. java中的过滤器与监听器
  9. Doris之数据划分(全面)
  10. php连接mysql字符串函数_mysql 字符串函数
  11. 数据库应用(MySQL客户端工具:Navicat/SQLyog)
  12. 计算机二级黑板板书书写,清华老师们的板书惊艳朋友圈!8个板书技巧让黑板亮起来!...
  13. 浅谈有监督学习的分类与回归
  14. 糖尿病性视网膜病变分级诊断
  15. 人一生要读的100首古诗
  16. Linux查询一个进程是被那个启动项启动的
  17. Redis设计与实现笔记2
  18. 给 iOS 开发者的 Flutter 指南(上)
  19. 泰克示波器MDO3054固件升级的一种方法
  20. java暂挂状态,Guarded Suspension(保护性暂挂)模式

热门文章

  1. 自定义手势解锁锁控件
  2. js中String的常用扩展
  3. 保护模式及其编程——实模式与保护模式的切换
  4. 使用BIOS以及直接写显存绘制图形
  5. 最简单也最难——如何获取到Android控件的高度,获取android控件
  6. 九度OJ 区间问题
  7. golang中的定时器
  8. new/delete与malloc/free的区别与联系详解
  9. 深入理解int a[5];
  10. JUC并发编程八 并发架构--ReentrantLock