一、JAR
包
A、简介
JAR
包通常是开发时要引用的通用类,打成包便于存放管理。简单来说,JAR
包就是别人写好的一些类,然后对这些类进行打包。将这些JAR
包引入项目lib
中,可以直接使用这些JAR
包中的类和属性。JAR
文件格式以流行的ZIP
文件格式为基础,与ZIP
文件不同的是,JAR
文件不仅用于压缩和发布,而且还用于部署、封装库、组件和插件程序,并可被像编译器和JVM
这样的工具直接使用。JAR
文件与ZIP
文件唯一的区别就是在JAR
文件的内容中,包含了一个META-INF/MANIFEST.MF
文件,这个文件是在生成JAR
文件的时候自动创建的。
B、作用
- 作为工具包和类库,这个是最基础的作用。在大型项目中,一般会依赖多个
JAR
包。 - 作为应用工程和扩展的构建单元:开发大型应用的时候,一般会将应用分为几个单元,每个单元用
JAR
包封装,并相互依赖。 - 作为组件、
applet
或者插件程序的部署单元。 - 用于打包与组件关联的辅助资源。
C、内部结构
二、WAR
包
A、简介
WAR(Web Archive file)
网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。WAR
专用于Web
方面,大部分的JAVA WEB
工程,都是打成WAR包进行发布的。WAR
是一个Web
模块,其中需要包括WEB-INF
,是可以直接运行的Web
模块。通常用于网站打成包部署到容器中,以Tomcat
来说,将War
包放在Tomcat
的\webapps\
目录下,启动Tomcat
,这个包自动解压,也就是你的Web
目录,相当于发布了。
B、内部结构
War
包中的文件格式按照一定的目录结构来组织。其根目录下包含有html
和jsp
文件,或者包含有这两种文件的目录。另外还有WEB-INF
目录,通常在WEB-INF
目录下包含有一个web.xml
文件和一个classes
目录:web.xml
是这个应用的配置文件,为classes
目录下则包含编译好的servlet
类,或者servlet
所依赖的其他类(如javabean
)。通常这些依赖的类也可以打包成JAR
包放在WEB-INF/lib
目录下。
三、EAR
包
A、简介
JAR
是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为J2EE
应用程序创建的JAR
文件是EAR
文件(企业JAR
文件)。针对企业级项目,实际上EAR
包中包含WAR
包和几个企业项目配置文件而已,一般服务器选择WebSphere
等,都会使用EAR
包。