文档章节

jar war ear 区别和联系详解

一个破名想半年
 一个破名想半年
发布于 2016/11/22 12:02
字数 693
阅读 117
收藏 0

 jar/war/ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:
  Jar文件(扩展名为. Jar)包含Java类的普通库、资源(resources)、辅助文件 (auxiliary files)等
  War文件(扩展名为.War)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的 一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
  Ear文件(扩展名为.Ear)包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar 文件、资源、类和Web应用程序的集合。
  每一种文件(.jar, .war, .ear)只能分别由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。

    详情见下表:

  JAR WAR EAR
英文 Java Archive file Web Archive file Enterprise Archive file
包含内容 class、properties文件,是文件封装的最小单元;包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等 Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等 除了包含JAR、WAR以外,还包括EJB组件
部署文件 application-client.xml web.xml application.xml
容器 应用服务器(application servers) 小型服务程序容器(servlet containers) EJB容器(EJB containers)
级别

Java的打包jar、war、ear包的作用、区别、打包方式:

1、 作用与区别

i.  jar:通常是开发时要引用通用(JAVA)类,打成包便于存放管理;

ii. war:是做好一个(web)应用后,通常是网站,打成包部署到容器中;

iii. ear: 企业级应用,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。通常是EJB打成ear包。

2、打包方式

i. 所有的包都是用jar打的,只不过目标文件的扩展名不一样;

ii. 也可以用Ant来安成构建。

3、JET编译成EXE

i.  JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。

注意:

将web项目以war的方式导出后,直接放在tomcat容器的webapps下 ,启动服务,即可运行该项目,该war包会自动解压出一个同名的文件夹。

 

© 著作权归作者所有

一个破名想半年
粉丝 0
博文 16
码字总数 9936
作品 0
青浦
私信 提问
JAR WAR EAR的使用和区别

1.JAR WAR EAR的使用和区别 最近项目中接触到了Jar War EAR, 在文件结构上, 三者并没有什么不同, 它们都采用zip或jar档案文件压缩格式, 当时它们的使用有所区别: Jar(Java Application Arch...

陈小扁
2016/03/17
207
0
J2EE进阶(二十三)jar、war、ear包的区别

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

sunhuaqiang1
2018/05/05
0
0
简单介绍Java 的JAR包、EAR包、WAR包区别

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

问题终结者
2018/10/20
0
0
【java】-jar包和war包的区别

war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.它们都是压缩的包,拿Tomcat来说,将war...

fjj15732621696
2017/11/12
0
0
JAR、WAR、EAR的区别

Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等。   War文件(扩展名为.War,Web Application Archive)包含全...

专注97
2016/01/06
52
0

没有更多内容

加载失败,请刷新页面

加载更多

springmvc 流程

1, 首先用户发现 http 请求 到 服务器 ,进入 到 servlet 容器中,servlet 容器 解析请求,和数据 , 以及 httphandler . 解析完的 请求body 数据流。 2. 进入 用户自定义的 filter 过滤器,...

之渊
42分钟前
1
0
django2.2 用户登录练习完整版(待改善)

主要配置: settings.py配置: #数据库配置import pymysqlpymysql.install_as_MySQLdb()DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',  ......

平头哥-Enjoystudy
今天
2
0
if __name__ == '__main__'

通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')。 if __name__ == '__main__'的意思是......

Nagisa丶夜雨
今天
4
0
Skynet 服务创建流程

Skynet 服务创建流程 根据设计综述 Skynet 是为了让服务器充分利用多核优势,将不同的业务放在独立的执行环境中处理。 Skynet 核心功能是加载一个 C 模块(动态库),模块用数字 id 标识,作...

ylme
今天
4
0
js中为什么你不敢用 “==”

前言 类型转换在各个语言中都存在,而在 JavaScript 中由于缺乏对其的了解而不慎在使用中经常造成bug被人诟病。为了避免某些场景下的意外,甚至推崇直接使用 Strict Equality( === )来代替 ...

JamesView
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部