对jar包,war包的理解

jar包介绍

jar 包全称 Java Archive ,中文名叫 java 归档文件,这是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件(是的,jar 包就是一种压缩文件,甚至 jar 这个单词就有罐子的意思,实际上 jar 包采用的也是 zip 的压缩方式,只不过将文件后缀定义为 jar)。javaSE 程序可以打包成 jar 包。

war包介绍

war 包与 jar 包是很类似的,不过 war 包通常用于网站,它是一个可以直接运行的 web 模块。我们在开发 web 项目一般都会使用一个 webapp 文件夹来进行开发,这个文件夹直接放在 Tomcat 的 webapps 文件夹下就可以启动该项目了。而 war 包,就是对这个文件夹进行打包。

war 包是 Sun 提出的一种 web 应用程序格式。它与 jar 类似,是很多文件的压缩包。war 包中的文件按照一定目录结构来组织。

一般其根目录下包含有 html 和 jsp 文件,或者包含有这两种文件的目录,另外还有 WEB-INF 目录。通常在 WEB-INF 目录下含有一个 web.xml 文件和一个 classes 目录。web.xml 是这个应用的配置文件,而 classes 目录下则包含编译好的 servlet 类和 jsp,或者 servlet 所依赖的其他类(如 JavaBean)。通常这些所依赖的类也可以打包成 jar 包放在 WEB-INF 下的 lib 目录下。

 

war 包的打包也是通过 jar 命令来实现的。使用如下命令即可打包

jar cvf d:/test/myweb2.war.

  • 其中​cvf​是命令参数,表示生成一个文档、显示生成过程、指定生成的文件名。
  • d:/test/myweb2.war​ 为生成的文档的存放路径以及文件名。
  • 最后一个点号表示要将当前目录中所有内容打包。

使用一些开发工具也可以打 war 包,比如 maven 项目就可以用 maven 打包。如果项目中用到了 ant,也可以用 ant 进行 war 包的输出和部署。类似的工具还有 gradle 等等,小编就不一一介绍了。

使用 IDE 一般都会提供打包工具,它们可以简单的打好一个 war 包(关注 W3C技术头条,后续文章教你如何用 idea 和 eclipse 打 war 包)。

 

两者区别

 

使用 jar 文件的目的是把类和相关的资源封装到压缩的归档文件中以方便调用。而对于 war 文件来说,一个 war 文件就是一个 Web 应用程序。它包含 Servlet、HTML 页面、Java 类、图像文件,以及组成 Web 应用程序的其他资源,而不仅仅是类的归档文件。

简单的来说,jar 只是类的归档文件,而 war 包是一个完整的 web 应用程序。

jar包和war包的不同之处

(1)war包和项目的文件结构保持一致,而jar包却不一样;

(2)jar包里面没有静态资源的文件;

4、jar包和war包部署项目的区别

部署普通的spring项目用war包即可;

 

使用场景 (本节转载https://blog.csdn.net/weixin_44259720/article/details/105381045

产品开发阶段:因为在此发阶段经常需要添加或删除Web应用程序的内容,更新 Servlet类文件,而每一次改动后,重新建立WAR文件将是一件浪费时间的事情,所以不适合使用WAR文件,使用JAR更便利;
产品发布阶段:因为在这个时候,几乎不需要再做什么改动了,所以使用WAR文件是比较合适的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值