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

jar 包与 war 包区别

1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。

2、war包是做好一个web应用后,通常是网站,打成包部署到容器中;jar包通常是开发时要引用通用类,打成包便于存放管理。

3、war是Sun提出的一种Web应用程序格式,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织;classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)可以打包成jar放到WEB-INF下的lib目录下。

JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

格式特点

安全性

可以对 JAR 文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。

减少下载时间

如果一个 applet 捆绑到一个 JAR 文件中,那么浏览器就可以在一个 HTTP 事务中下载这个 applet 的类文件和相关的资源,而不是对每一个文件打开一个新连接。

压缩 JAR 格式允许您压缩文件以提高存储效率。

传输平台扩展 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。

WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个war扩展名。

建立的条件

需要建立正确的Web应用程序的目录层次结构。

建立WEB-INF子目录,并在该目录下建立classes与lib两个子目录。

将Servlet类文件放到WEB-INF\classes目录下,将Web应用程序所使用Java类库文件(即JAR文件)放到WEB-INF\lib目录下。

将JSP页面或静态HTML页面放到上下文根路径下或其子目录下。

建立META-INF目录,并在该目录下建立context.xml文件。

相关文章:

jar 包与 war 包区别

1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。 2、war包是做好一个web应用后,通常是网站,打成包部署…...

【数据结构:复杂度】时间复杂度

本节重点内容: 算法的复杂度时间复杂度的概念大O的渐进表示法常见时间复杂度计算举例⚡算法的复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的&…...

京东pop店铺订单导出

下载安装与运行 下载、安装与运行 语雀 特别提醒 只能导出已登录店铺的订单导出的收件人手机号是虚拟号 功能 主要是方便线下工厂发货的店主 所见即所得的导出自由选择导出项自由排序Excel导出列顺序导出过程中有进度提示,用户可以随时提前中止 什么是所见即所…...

论文阅读:Towards Stable Test-time Adaptation in Dynamic Wild World

今天阅读ICLR 2023 ——Towards Stable Test-time Adaptation in Dynamic Wild World Keywords:Test-time adaptation (TTA); 文章目录Towards Stable Test-time Adaptation in Dynamic Wild WorldProblem:motivation:Contributio…...

2022国赛27:Linux-1时间服务chrony配置

大赛试题内容: 3.利用chrony配置Linux-1为其他Linux主机提供时间同步服务。 解答过程: 安装chrony服务[root@cs1 ~]# yum -y install chrony 配置/etc/chrony.conf文件[root@cs1 ~]# vi /etc/chrony.conf 7行改为 server 10.10.70.101 iburst 23行改为 去掉#号 allow 1…...

Java——二维数组中的查找

题目链接 牛客在线oj题——二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二…...

Android 9.0 添加关机铃声功能实现

1.前言 在9.0的系统rom定制化开发中,在原生系统中,关于开机铃声和关机铃声是默认不支持的,系统默认支持开机动画和关机动画等功能,所以关于增加开机铃声和关机 铃声的相关功能,需要自己增加相关的关机铃声功能 2.添加关机铃声功能实现的核心类 frameworks\base\cmds\boo…...

IPv4 和 IPv6 的组成结构和对比

IPv4 和 IPv6 的组成结构和对比IPv4IPv6互联网协议 (IP) 是互联网通信的基础,IP 地址是互联网上每个设备的唯一标识符。目前最常用的 IP 协议是 IPv4,它已经有近 30 年的历史了。然而,IPv4 存在一些问题,例如: 地址空间不足:IPv4 …...

Spring的事务管理

Spring的事务管理Spring的事务管理1、事务的回顾【1】事务的定义【2】事务的ACID原则2、spring事务API介绍【了解】【1】PlatformTransactionManager【1.1】PlatformTransactionManager作用【1.2】PlatformTransactionManager接口【1.3】PlatformTransactionManager实现类【2】…...

MCAL知识点(十六):VADC驱动配置详解(理论基础篇)

目录 1、概述 2、EB配置 2.1、通用界面配置 2.1.1、General 2.1.2、AdcConfigSet_0 2.1.3、AdcGlobinputClass 2.1.4、AdcHwUn...

MySQL--库的操作--校验规则对于数据库的影响--0409

目录 1.库的基础操作 查看数据库 创建数据库 删除数据库 查看建库语句 修改数据库 2.字符集和字符集校验规则 2.1 查看系统默认字符集以及校验规则 2.2 使用特定的字符集创建数据库 2.3 不同校验规则对数据库的影响 2.3.1 大小写验证 2.3.2 排序验证 3.备份和恢复 3.1…...

markdown-it基本使用

markdown-it能够将markdown语法的内容转换为html内容,这样我们使用markdown语法写的笔记,就可以转换作为网页使用了 Markdown语法 Markdown语法图文全面详解(10分钟学会) 基础使用 安装markdown-it npm install markdown-it --save使用markdown-it …...

CMake入门教程【核心篇】8.3对象库

文章目录 知识点实例代码目录代码实现知识点 add_library(libhello OBJECT src/hello.cpp)使用OBJECT 参数可以把对象传入到libhello 中,且不会生成.lib文件 使用变量$<TARGET_OBJECTS:libhello>即可获取,比较实用 实例 代码目录 |-📁prj10   |-- 🎴CMakeLists…...

单片机_CT107D训练平台电路原理图\蓝桥杯训练板\IO扩展模块\74HC138译码器

74HC138译码器&#xff08;实现3个IO口控制8个引脚实现IO口的扩展&#xff09; 配置信号放大模块&#xff0c;可以对输入的低电压模拟信号进行放大&#xff1b; 配置 138 译码器&#xff0c;可以做译码实验&#xff1b; 外设可以用存储器映射方式访问&#xff0c;也可以直接控…...

Rabbitmq消息确认机制

1.生产者确认机制 确认消息发送到交换机--Confirm方式 1.1普通Confirm方式 private static void sendMsg(Channel channel) throws IOException, InterruptedException { //开启确认机制 channel.confirmSelect(); //发送消息到exchange St…...

FinClip 云开发实践(附小程序demo)

在开发一个小程序时&#xff0c;除了考虑界面功能逻辑外&#xff0c;还需要后端的数据支持&#xff0c;开发者需要提前考虑服务器、存储和数据库等相关需求的支持能力&#xff0c;此外还可能需要花费时间精力在部署应用、和依赖服务的建设上。 ​ 因此&#xff0c;腾讯小程序为…...

真正好用的工业品ERP系统应该是什么样的?

一个好用的进销存ERP系统应该有以下特点&#xff1a; 1. 全面覆盖企业经营流程&#xff0c;包括采购、销售、库存、财务等模块&#xff0c;能够实现全方位的管理和控制。 2. 自定义配置&#xff0c;灵活地适应大多数用户的需求。 3. 数据精准、实时化&#xff0c;支持统计分…...

Shiro重定向

使用了统一认证&#xff0c;然后每次登录&#xff0c;不能定向到用户指定的界面&#xff0c;非得回到首页&#xff0c;所以做了如下改动 1、在FormAuthenticationFilter中在issueSuccessRedirect中加上五句话。 Overrideprotected void issueSuccessRedirect(ServletRequest …...

Greenplum数据库执行器——PartitionSelector执行节点

为了能够对分区表有优异的处理能力&#xff0c;对于查询优化系统来说一个最基本的能力就是做分区裁剪partition pruning&#xff0c;将query中并不涉及的分区提前排除掉。如下执行计划所示&#xff0c;由于单表谓词在parititon key上&#xff0c;在优化期间即可确定哪些可以分区…...

POJ 2311 Cutting Game

POJ 2311 Cutting Game 题目大意 有一张有whw\times hwh个格子的长方形纸张&#xff0c;两个人轮流将当前的纸张中选一张&#xff0c;并沿着格子的边界将这张纸剪成两部分。最先切出只有一个格子的纸张&#xff08;111\times 111的纸张&#xff09;的玩家获胜。当双方都采用最…...

[具身智能-170]:在具身智能的技术路径中,其中大小脑联合架构是务实的架构成为行业当下的共识,如果要学习大脑,需要学习哪些技术?已经学习的路径建议。

在具身智能的“大小脑”联合架构中&#xff0c;“大脑”主要负责高层级的语义理解、任务规划和决策&#xff0c;相当于机器人的“认知与思考中心”。要深入学习这一领域&#xff0c;你需要掌握一系列前沿的AI技术&#xff0c;并遵循一个循序渐进的学习路径。&#x1f9e0; 具身…...

别再只盯着TOF了!聊聊FMCW激光雷达:它凭什么能直接测速,还自带‘抗干扰’光环?

FMCW激光雷达&#xff1a;重新定义自动驾驶感知边界的三大技术革命 当特斯拉的纯视觉方案与激光雷达阵营的路线之争还在持续时&#xff0c;一种被称为"激光雷达中的特斯拉"的技术正在悄然改写游戏规则。FMCW&#xff08;调频连续波&#xff09;激光雷达不像传统TOF&a…...

mmdetection训练中断后如何精准恢复epoch?详解resume与配置文件调整

1. 理解训练中断恢复的核心逻辑 当你用mmdetection训练模型时&#xff0c;最崩溃的莫过于训练到第23个epoch突然断电。别慌&#xff0c;恢复训练的关键在于理解三个核心要素的联动关系&#xff1a; 检查点文件(.pth)&#xff1a;保存了模型权重、优化器状态和当前epoch数--resu…...

Proteus仿真C51单片机:用汇编实现一个简易的脉冲计数器(附完整代码和电路图)

Proteus仿真C51单片机&#xff1a;用汇编实现一个简易的脉冲计数器&#xff08;附完整代码和电路图&#xff09; 当你第一次接触单片机编程时&#xff0c;可能会被各种寄存器、中断和端口配置搞得晕头转向。今天&#xff0c;我们就用一个实实在在的脉冲计数器项目&#xff0c;带…...

ESP32-S3的AI新玩法:除了语音唤醒,还能用TensorFlow Lite Micro做哪些酷事?(环境音识别/振动监测实战)

ESP32-S3边缘智能实战&#xff1a;从环境音识别到工业振动监测的AI新范式 当一颗售价不到5美元的芯片能够听懂玻璃破碎声、预测电机故障&#xff0c;甚至识别婴儿啼哭时&#xff0c;物联网设备的"感知能力"正在被重新定义。ESP32-S3搭配TensorFlow Lite Micro&#x…...

告别虚拟机!在物理机统信系统上部署FME Desktop的性能调优与存储空间规划指南

告别虚拟机&#xff01;在物理机统信系统上部署FME Desktop的性能调优与存储空间规划指南 当GIS工程师需要在国产化环境中处理大规模空间数据时&#xff0c;物理机直接部署FME Desktop往往能获得比虚拟机更极致的性能表现。本文将深入探讨在统信UOS专业版物理机环境中&#xff…...

虚幻引擎+数字孪生:手把手搭建智慧校园三维可视化平台(附浙江工商大学实战案例)

虚幻引擎数字孪生&#xff1a;从零构建智慧校园三维可视化平台的完整指南 想象一下&#xff0c;清晨走进校园时&#xff0c;管理员已经在三维可视化平台上完成了安防巡查&#xff1b;教务主任通过热力图调整着今天的课程安排&#xff1b;后勤人员正根据实时数据优化能源分配——…...

3倍效能革命:ComfyUI-TeaCache智能缓存技术重构AI创作流程

3倍效能革命&#xff1a;ComfyUI-TeaCache智能缓存技术重构AI创作流程 【免费下载链接】ComfyUI-TeaCache 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-TeaCache 在AI创作领域&#xff0c;每一秒的等待都可能错失灵感迸发的瞬间。ComfyUI-TeaCache作为一款基…...

深入解析 Promise 核心原理,从零手写实现到实战应用

1. Promise 基础概念与使用场景 1.1 什么是 Promise&#xff1f; 想象你点了一份外卖&#xff0c;商家给你一个取餐号而不是立即给你食物。这个取餐号就是 Promise&#xff0c;它代表一个未来才会完成的操作&#xff08;外卖送达&#xff09;。在 JavaScript 中&#xff0c;Pro…...

3步解锁Umi-OCR服务化潜能:让自动化文字识别融入工作流

3步解锁Umi-OCR服务化潜能&#xff1a;让自动化文字识别融入工作流 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/Git…...