jar包、war包、tar包、tar.gz包有什么区别

原文链接:jar包、war包、tar包、tar.gz包有什么区别 – 每天进步一点点 (longkui.site)

0.前言

java项目经常打包,有的打出来的是war包,有的打出来的是jar包,到底有什么区别?

1.jar包

jar包,Java Archive,翻译过来就是java档案。是Java编译好之后生成class文件,但是如果直接发布这些class文件的不方便,所以就把许多class文件打包为一个jar包。jar包中除了class文件还包括一些资源和配置文件,通常一个jar包就是一个java程序。

jar包的目录结构一般如下:

根目录
   |
   |---- 该包的 java 类文件目录
   |
   |---- META-INF 目录          // 存放该包和扩展的配置数据
2.war包

war包:属于打包文件。即Web Application Archive,与jar基本相同。但通常表示一个Java的web应用程序的包。一个 war 包可以理解成就是一个 web 项目,通常用于网站,打成包部署到容器(如 tomcat)中。

以 Tomcat 为例,war 包放置在其\webapps\ 目录下,然后启动 Tomcat,这个包就会自动解压,就相当于发布了。

war 包是 Sun 公司提出的一种 web 应用程序格式,与 jar 类似,也是很多文件的压缩包。

war 包是 JavaWeb 程序打的包。,包含了项目的所有东西,包括:

代码编译成的 class 文件
依赖包
配置文件
网站页面(html、jsp、servlet、图片文件等)

war包的目录结构一般如下:

根目录
   |
   |---- .html、.jsp (或包含这两种文件的目录)
   |
   |---- WEB-INF 目录           // 存放 .class 文件和配置文件
   |        |
   |        |---- web.xml       // 该应用的配置文件
   |        |
   |        |---- classes 目录
   |        |         |
   |        |         |---- 编译好的 servlet 类和 js
   |        |         |
   |        |         |---- servlet 所依赖的其他类(如 JavaBean)
   |        |----- lib          // 存放该包的依赖 jar 包
   |
   |---- META-INF 目录          // 存放该包和扩展的配置数据
3.tar包

tar包:属于打包文件。Lniux系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀为“tar”。简单说tar就是打包;

4.tar.gz包

tar.gz包:是压缩文件。经过gzip压缩后的tar文件,形成tar.gz包,扩展名为“xx.tar.gz”;

posted on   longkui  阅读(229)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示