http://www.blogjava.net/athrunwang/archive/2011/11/18/364191.html
经常听开发说war,jar,car,这些是个什么东东呢?
.jar :
java archive;
包含:class、properties文件,是文件封装的最小单元;
部署文件:application-client.xml ;
级别:小;
.war :
Web Archive;
包含: Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等;
部署文件: web.xml;
级别:中;
war包生成:
a.用eclipse等IDE,可以再项目上右击选择“导出”,即可;
b.手工制作:执行jar -cvf 将要生成的包名.war 要压缩的目录名
war包其实就是经过zip压缩的文件,用winrar压缩成zip格式,修改扩展名为war即可。
.ear :
Enterprise Archive;
包含:除了包含JAR、WAR以外,还包括EJB组件;
部署文件:application.xml;
级别:大;
以最终客户的角度来看,.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文件。
war包可以放在webapps或者work目录下都可以,随着tomcat的启动,它可以自动被解压.
或者通过tomcat的管理页面,也可以发布war包,发布实际上就是把war包复制到webapps目录下.
最后关于war、jar包的打包方法,命令行方式和使用 jbuilder或者eclipse,点这里http://www.iteye.com/topic/254141