jar、war、ear包的作用和区别

在开发中,我们常常看到jar包,war包和ear,那么这三种究竟有什么区别和联系呢?我们来看一下。

1.jar包

  Java Archive。

  包含:class、properties文件,是文件封装的最小单元。打包的主要是Java类的普通库、资源、辅助文件(auxiliary files)等。

  部署文件:application-client.xml文件。

  服务器:应用服务器(application servers)

  作用:jar包是与平台无关的文件格式。jar包就是一种封装,我们不需要知道jar包里面包含多少.class文件,也无需了解每个文件的结构,只需要引入jar,就可以去实习想要的结果。在开发时我们经常饮用的通用类,比如一些api,common,我们可以打成jar包,便于存放和大家使用。

2.war包

  Web Archive 。

  包含:Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等。

  部署文件:web.xml文件

  服务器:小型服务程序容器(servlet containers)

  作用:一个war文件代表了一个web应用程序,web的目录和文件可能非常多,我们就把web应用程序打包成war包,然后把war包部署到服务器上。一般在项目完成后再创建war包。

3.ear包

  Enterprise Archive。

  包含:除了包含JAR、WAR以外,还包括EJB组件。

  部署文件:application.xml

  服务器:EJB容器(EJB containers)

  作用:我们通常是把EJB打成ear包,ear包括jar包,war包还有EJB组件。简单来说,ear包括整个项目。ear属于企业级应用,封装EJB。

4.三者对比

借用网友的一张图汇总三者的主要内容:


 (1)我们可以清楚的看到jar包括.class文件,war包括jar,ear包括war和jar。故JAR< WAR < EAR。

 (2)jar: 把开发时要引用通用(JAVA)类及资源做封装,打成包后便于存放管理;

     war:一个(web)完整的应用,通常是网站或WEB平台,打成包部署到容器中;

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

  

  基础的知识也是不能忽略的,希望可以帮助大家理解。


  • 12
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值