jar包和war包的介绍和区别

jar包和war包的介绍和区别JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为J2EE应用程序创建的JAR文件是EAR

大家好,又见面了,我是你们的朋友全栈君。

JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。

如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,就不是很方便了,我们可以将Web应用程序打包成Web 归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。

一个WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个.war扩展名。下面我们将第2章的Web应用程序打包成WAR文件,然后发布

要注意的是,虽然WAR文件和JAR文件的文件格式是一样的,并且都是使用jar命令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。JAR文件的目的是把类和相关的资源封装到压缩的归档文件中,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含 Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序的其他资源,而不仅仅是类的归档文件。

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

在开发阶段,我们通常将Servlet源文件放到Web应用程序目录的src子目录下,以便和Web资源文件区分。在建立WAR文件时,只需要将src目录从Web应用程序目录中移走,就可以打包了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142171.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse下载及安装教程[通俗易懂]

    eclipse下载及安装教程[通俗易懂]eclipse下载及安装教程Java编程最好的集成开发工具就是IBM研发的Eclipse软件,Eclipse完全免费,是java开发人员的必备平台。进入eclipse下载页,界面如下图所示:(附加官网下载链接:https://www.eclipse.org/downloads/)eclispe提供了两种下载方式。一种是下载安装程序,下载后直接运行安装程序,根据安装程序的提示选择安装选项并完成安装;一种是下载具有不同功能项的eclispe压缩包,下载后手动解压即可。第一种——安装程序方式

    2022年5月10日
    34
  • vi编辑时出现E325:ATTENTION(简单易懂,快速解决问题)「建议收藏」

    vi编辑时出现E325:ATTENTION(简单易懂,快速解决问题)「建议收藏」当出现这个问题时,是因为由于在编辑该文件的时候异常退出了,因为vim在编辑文件时会创建一个交换文件swapfile以保证文件的安全性。要想解决这个问题,1.找到开头前两行示例如下:E325:ATTENTIONFoundaswapfilebythename”/.local/share/nvim/swap//%home%dev%xuexi%tool%main.c.swp”(tips:复制标粗体的地方)2.找出name后面的文件路径以及名称,复制你的swap文件路径以及名

    2022年5月12日
    53
  • 监控RuntimeException「建议收藏」

    监控RuntimeException「建议收藏」在线程提前终止的最主要原因就是RuntimeException,由于这些异常表示出现了某种编程错误或者其他不可修复的错误,因此它们通常不会被捕获。它们不会在调用栈中逐层传递,而是默认地在控制台中输出栈追踪信息,并终止线程我们可以通过实现java.lang.Thread.UncaughtExceptionHandler接口来获取RuntimeException异常的信息。

    2022年7月25日
    9
  • java 实现 按位异或_Java 按位异或的性质及其妙用

    java 实现 按位异或_Java 按位异或的性质及其妙用文章摘要:1、按位异或,可以简单理解成:不进位加法。即:1+1=0;0+0=0;1+0=1;2、任何数和自己异或结果为零。3、按位异或自反性。两次运算操作,可以将最后的结果还原。4、任何数和0做异或值不变,和1异或结果为原操作数取反。5、交换律。不使用中间变量,交换两个数。一、按位异或具有自反性。即:对同一个数据,进行两次按位异或操作,等于数据本身。intdisplayOptions=0x…

    2022年6月6日
    94
  • 【Linux + Makefile】简单实用的Makefile模板来了

    【Linux + Makefile】简单实用的Makefile模板来了今天给大家介绍一个简单实用的Makefile模板,也可以当做学习Makefile核心内容的范例,里面都有详细的注释,清晰明了。这个Makefile主要解决以下需求:#######################################################################################需求:#1.编译输出的所有文件均放在一个outp…

    2022年6月14日
    31
  • VS2010 编译 SpiderMonkey 1.8.5 静态库版本[通俗易懂]

    VS2010 编译 SpiderMonkey 1.8.5 静态库版本[通俗易懂]大家好,前段时间看到VC驿站上面会员发布了一篇文章《Windows系统编译制作SpiderMonkey最新版mozjs-31.2.0版本》,地址为:http://www.cctry.com/thread-250698-1-1.html过程写的很详细,使用的也是目前来说SpiderMonkey的最新版本31.2.0,不过我之前用的一直是1.8.5版本,用老的版本编译出来的SpiderMonkey

    2022年10月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号