每日知识点:War包和Jar包区别

羌俊恩 社区创始人
优质创作者: 运维技术领域
领域专家: 操作系统技术领域
2023-09-09 11:14:03

War包(Web Application Archive)和Jar包(Java Archive,Java 归档文件)都是Java开发中的归档文件,主要有如下一些区别:

1)用途不同:War包是JavaWeb程序的打包,主要用于Web应用程序的部署,一个War包可以理解为就是一个完整的Web项目;而Jar包是java普通项目打包,通常是开发时要引用通用类,打成jar包便于存放管理,一般用于Java应用程序的打包和部署。对应的封包格式分别为:jar包扩展名为*.jar,war包扩展名为*.war。另外,jar包不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 jar。通常开发时要引用通用类,打成jar包便于存放管理,当你使用某些功能时就需要这些jar包的支持,就可导入jar包。

2)包含内容不同:War包通常包含Web应用程序的所有文件,包括JSP、HTML、CSS、JavaScript、Servlet、JavaBean等,war包里的WEB-INF里放的class文件和配置文件,META-INF目录,还包含web相关的静态资源的文件,如web.xml的配置文件,前端的页面文件,以及依赖的jar;而Jar包则包含Java类、资源文件和库文件等,jar包里的com里放的就是class文件,配置文件,通常又把它称为类归档文件,即以类文件为主,相比war基本没有静态资源的文件;大多数JAR文件包含一个META-INF目录,用于存储包和扩展的配置数据,如安全性和版本信息。

3)目录结构不同:War包通常包含WEB-INF目录和META-INF目录,其中WEB-INF目录包含web.xml、classes目录和lib目录,META-INF目录包含MANIFEST.MF文件;而Jar包则通常只包含META-INF目录和Java类文件。


4)部署方式不同:War包一般需要部署到Web服务器中,例如Tomcat、WebLogic等,最常用的就是部署到tomcat的webapps目录下,直接启动tomcat即可启动WEB项目,这时这个war包就会自动解压,就相当于web项目对外发布了;而Jar包可以作为Java应用程序的独立运行文件,也可以作为库文件被其他Java应用程序调用。开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。而JAR包可直接通过内置Tomcat部署运行,不需要额外安装Tomcat。如需修改内置Tomcat的配置,只需要在SpringBoot的配置文件中配置。内置Tomcat没有自己的日志输出,全靠jar包应用输出日志,方便,快速,简单。

总之,War包和Jar包只是为适应不同的用途和场景,开发人员需要根据实际情况选择的归档文件类型。
 

...全文
629 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

136,549

社区成员

发帖
与我相关
我的任务
社区描述
欢迎各位小伙伴积极活跃投稿,将日常IT打怪中遇到的问题,优秀解决方案,或自己的博客认为比较经典的文章分享到这里,共同营造一个悦享的问题库,Review及减少重复造车轮的无限循环,此致敬礼
devops经验分享开源 技术论坛(原bbs) 北京·西城区
社区管理员
  • 羌俊恩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

本社区:旨在推进运维云化知识库建设,为更多运维提供参考及经验交流;加入社区的同学,如果运维工作中遇到问题或最后得到解决,有劳凑空发帖,分享共建FAQ社区。

得到解决方案的同学,请积极为发帖的同学点赞、评论、能力范围内打赏激励。另外本社区采用游戏修仙角色作为鼓励,对不同贡献者授予对应“勋章”。

最后祝愿社区繁荣昌盛,此致敬礼!!!

试试用AI创作助手写篇文章吧