JAR包:打成JAR包的代码,一般作为工具类,在项目中,会应用到N多JAR工具包。

WAR包:JAVA WEB工程,都是打成WAR包,进行发布,如果我们的服务器选择TOMCAT等轻量级服务器,一般就打出WAR包进行发布。

EAR包:这针对企业级项目的,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。

文件夹及作用说明:

1、JAR包 :

JAR 文件格式以流行的 ZIP 文件格式为基础。

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

JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

作用:

作为工具包和类库;这个是最基本的作用,在大型项目中,一般会依赖N多JAR包。作为应用工程和扩展的构建单元;开发大型应用的时候,一般会将应用分成几个单元,每个单元用jar包封装,并相互依赖。作为组件、applet 或者插件程序的部署单位;用于打包与组件相关联的辅助资源。

典型的jar包内部结构如下:

tools.jar
| resource.xml // 资源配置文件
| other.xml
|
|— META-INF
MANIFEST.MF // jar包的描述文件
|— com // 类的包目录
|—test
util.class // java类文件

2、WAR包 :

WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。war专用在web方面 。

JAVA WEB工程,都是打成WAR包进行发布。

典型的war包内部结构如下:

webapp.war
| index.jsp
|
|— images
|— META-INF
|— WEB-INF
| web.xml // WAR包的描述文件
|
|— classes
| action.class // java类文件,编译后的字节码
|
|— lib
other.jar // 依赖的jar包
share.jar

3、EAR包:

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。

针对企业级项目,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。

典型的ear包内部结构如下:

app.ear
| ejb.jar // ejb-jar包
| other.jar // 普通的jar包
| webapp.war   // war包
|
|—META-INF
application.xml   // EAR描述文件

WEB标准包是war方式,J2EE标准包使用的是ear方式,区别就在与你必须在支持j2ee的环境下才能使用ear方式,比如在tomcat中就不能使用ear方式,但是在weblogic中两种都可以,ear方式所包含的范围比war方式广很多,就好比一个大圆里面的小圆,是包含与被包含关系 。

原文:http://hck.iteye.com/blog/1751951

Java中的JAR/EAR/WAR包的文件夹结构说明(转)的更多相关文章

  1. JAVA jar 和 war 包的区别

    一. jar 包 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.JavaSE程序可以打包成Jar包(J其实可以理解为Java了). ...

  2. 基于Java的打包jar、war、ear包的作用与区别详解

      本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下   以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...

  3. jar与war 包解压

    JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是 ...

  4. SpringBoot小技巧:Jar包换War包

    SpringBoot小技巧:Jar包换War包 情景 我们都知道springBoot中已经内置了tomcat,是不需要我们额外的配置tomcat服务器的,但是有时这也可能是我们的一个瓶颈,因为如果我们 ...

  5. python中的包和文件夹的区别

    python的模块,就不得不说包(package),package是module的集合,在一个package中有很多的module, 还是以之前的index.py与baiduHq.py模块为案例,说明 ...

  6. Java之旅hibernate(2)——文件夹结构

    Hibernate的jar最好是到官网上进行下载.下载最新的稳定的版本号.之后进行解压,以下我们介绍一下hibernate的包结构. 1.      包结构 我们能够看到包文件夹结构发生了变化.我以5 ...

  7. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  8. AIR 中的 File 对象 所访问的文件夹位置

    AIR 中的 File 对象 所访问的文件夹位置 Link 关于File.cacheDirectory的一点说明 According to the Apple guidelines, data tha ...

  9. [置顶] LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句

    LOAD语句:利用MSSQL中的xp_cmdshell功能,将指定文件夹下的指定文件,生成mysql的LOAD语句 declare @sql varchar(4000), @dirpath varch ...

随机推荐

  1. “帮你APP”团队冲刺5

    1.整个项目预期的任务量 (任务量 = 所有工作的预期时间)和 目前已经花的时间 (所有记录的 ‘已经花费的时间’),还剩余的时间(所有工作的 ‘剩余时间’) : 所有工作的预期时间:88h 目前已经 ...

  2. 【精彩回顾】第二届微医前端技术沙龙(附PPT下载)

    5 月 25 日,以「无界」为主题的第二届微医前端技术沙龙成功举办.本届沙龙的演讲题目涵盖了前端技术几个主要的应用场景,包括服务端.桌面端以及跨平台的开发.最近几年前端技术发展非常快,各种可以提高开发 ...

  3. cf936c Lock Puzzle

    ref #include <algorithm> #include <iostream> #include <cstring> #include <cstdi ...

  4. loj2057 「TJOI / HEOI2016」游戏

    记横联通是一块横着的没有硬石头的地,把他们编号.竖联通同理. 对于一个空地,将其横联通编号和竖联通编号连边,二分图匹配,最大匹配为答案. #include <iostream> #incl ...

  5. ogre3D,cegui配置问题

    今天按照网上的教程配置CEGUI, 一直运行不了,不明白原因,而后又出现了错误 LNK1104: 无法打开文件“OgreGUIRenderer_d.lib”,经过反复检查,排除包含目录问题. 不过可能 ...

  6. python - 接口自动化测试 - RunTest - 测试用例加载执行/测试报告生成

    # -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: run_test.py @ide: PyCharm Com ...

  7. iOS自定义控件创建原理(持续更新)

    前言 因为如果要创建各种自定义控件根据需求的不同会有很多的差别,所以我就在这里,分析一些自定义控件的创建实现方法 弹出视图 1.把要弹出的视图装在一个控制器里面,自定义转场动画 2.创建一个弹出视图, ...

  8. BZOJ 1877:[SDOI2009]晨跑(最小费用最大流)

    晨跑DescriptionElaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个 ...

  9. [luoguP2596] [ZJOI2006]书架(splay)

    传送门 题目中的几个操作,直接splay搞一下即可: 把s旋转到根,左子树接到右子树 把s旋转到根,右子树接到左子树 交换s相邻的信息即可 把s旋转到根,左子树的大小即为答案 找第k大 没了 #inc ...

  10. Http 请求头 Range

    HTTP 请求头 Range 请求资源的部分内容(不包括响应头的大小),单位是byte,即字节,从0开始. 如果服务器能够正常响应的话,服务器会返回 206 Partial Content 的状态码及 ...