您的位置:首页 > 编程语言 > Java开发

Java 的JAR包、EAR包、WAR包介绍

2016-08-16 14:08 162 查看
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描述文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: