A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在java开发中,对于war,jar,car,ear包的区别如下:

.jar 包(java archive)
包含:class、properties文件,是文件封装的最小单元;
部署文件:application-client.xml ;
级别:小;

对于jar包,可以使用jar -zxvf *.jar对jar包解压, jar -zcvf 进行jar包的打包

.war :
Web Archive;
包含: Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等;
部署文件: web.xml;
级别:中;

war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.
它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。
war包生成:
a.用eclipse等IDE,可以再项目上右击选择“导出”,即可;
b.手工制作:执行jar -cvf 将要生成的包名.war 要压缩的目录名
war包其实就是经过zip压缩的文件,用winrar压缩成zip格式,修改扩展名为war即可。
.ear :
Enterprise Archive;
包含:除了包含JAR、WAR以外,还包括EJB组件;
部署文件:application.xml;
级别:大;

ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有 Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文 件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依 赖的其它类(如JavaBean)。



以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样

jar–封装类
war–封装web站点
ear–封装ejb

一个web组件开发者执行以下的任务来传递一个包含web组件的WAR文件:
| 编写并编译servlet源代码
| 编写jsp、html文件
| 指定web的开发描述符
| 邦定.class,.jsp,.html和部署描述符到一个WAR文件。



car包:

这是webx特有的打包方式

传统的web工程就是将工程打包成一个war包部署到web服务器上就可以运行web服务。
Webx工程是以car包为单位,一个工程可以打包为一个car包,多个car包可以打包成一个war包部署到 web服务器上。
这样做的好处不言而喻就是可以将一个大工程分解为多个小工程独立去开发部署。

如图:

这是webx的打包结构

1 个回复

倒序浏览
很是受用,拿走,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马