文档章节

简单介绍Java 的JAR包、EAR包、WAR包区别

Linux就该这么学
 Linux就该这么学
发布于 10/20 21:37
字数 936
阅读 6
收藏 0

 

WAR包

WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。
War是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。通常用于网站,打成包部署到容器中,以tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,,这个包可以自动进行解压,也就是你的web目录,相当于发布了。
典型的war包内部结构如下:
webapp.war
|    index.jsp
|
|— images
|— META-INF
|— WEB-INF
|   web.xml                   // WAR包的描述文件
|
|— classes
|          action.class       // java类文件
|
|— lib
other.jar             // 依赖的jar包
share.jar
War包中的文件格式按照一定的目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下包含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,为classes目录下则包含编译好的servlet类,或者servlet所依赖的其他类(如javabean)。通常这些依赖的类也可以打包成jar包放在WEB-INF下lib目录下。

JAR包

JAR包通常是开发时要引用的通用类,打成包便于存放管理。简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入你的项目中。可以直接使用这些jar包中的类和属性,这些jar包放在lib目录下。
JAR文件格式以流行的ZIP文件格式为基础;与ZIP文件不同的是,jar文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。Jar文件与zip文件唯一的区别就是在jar文件的内容中,包含了一个META-INF/MANIFEST.MF文件,这个文件是在生成jar文件的时候自动创建的。
作用:
1、作为工具包和类库,这个是最基础的作用,在大型项目中,一般会依赖N多个jar包
2、作为应用工程和扩展的构建单元;开发大型应用的时候,一般会将应用分为几个单元,每个单元用jar包封装,并相互依赖。
3、作为组件、applet或者插件程序的部署单元。
4、用于打包与组件关联的辅助资源。
典型的jar包内部结构如下:
tools.jar
|  resource.xml                    // 资源配置文件
|  other.xml
|
|— META-INF
|            MANIFEST.MF         // jar包的描述文件
|— com                                 // 类的包目录
|—test
util.class              //java类文件

EAR包

JAR(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描述文件
---------------------

 

本文地址:https://www.linuxprobe.com/java-ear-war.html

 

© 著作权归作者所有

共有 人打赏支持
Linux就该这么学
粉丝 3
博文 88
码字总数 89348
作品 0
哈尔滨
程序员
私信 提问
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

问题终结者
10/20
0
0
简述 Java EE 容器的类加载,以及 JBoss AS 7 的特殊之处

既然是简述,就说的简单一点了,因为 Java 的类加载是一个很大的话题。很多技术,例如 Java EE 容器、OSGi 容器、JVM 上面的动态语言,都有自己在类加载上的特殊之处。 JVM 的类加载 先回顾一...

编走编想
2013/08/06
0
0
J2EE进阶(二十三)jar、war、ear包的区别

J2EE进阶(二十三)jar、war、ear包的区别 以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。...

sunhuaqiang1
05/05
0
0
JAVA基础知识之编译、运行、打包

一:java环境设置 在环境变量中设置以下三个变量: JAVAHOME=C:j2sdk1.4.1 //可以改为相应的目录 CLASSPATH=%JAVAHOME%libtools.jar;%JAVAHOME%libdt.jar PATH=%JAVAHOME%bin;%PATH% 然后在命...

luminji
2015/06/03
0
0
Eclipse的JBOSS包在启动的时候压缩

3.4以后版本的Eclipse在启动JBoss的时候,在deploy目录下生成的ear包可能会过大,这是因为默认级别是不压缩的导致的。 解决方法: 找到 ecliipsehomeepluginsorg.eclipse.jst.server.generic...

excepiton
2013/02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
37分钟前
1
0
聊聊storm trident batch的分流与聚合

序 本文主要研究一下storm trident batch的分流与聚合 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout) .p......

go4it
昨天
3
0
3分钟总结Mybatis别名

1.系统内置别名: 把类型全小写(resultType/paramType) 2.给某个类起别名 2.1 alias=”自定义” <typeAliases> <typeAlias type="com.bjsxt.pojo.People" alias="peo"/> </typeAli......

KingFightingAn
昨天
2
0
JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
昨天
8
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部