原标题:简单介绍Java 的JAR包、EAR包、WAR包区别

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描述文件

---------------------返回搜狐,查看更多

责任编辑:

java ear包_简单介绍Java 的JAR包、EAR包、WAR包区别相关推荐

  1. java编译时注解_简单介绍 Java 中的编译时注解

    1. 前言 上一篇 主要介绍了什么是 注解 (Annotation) 以及如何读取 运行时注解 中的数据, 同时用注解实现了简单的 ORM 功能. 这次介绍另一部分: 如何读取 编译时注解 ( Ret ...

  2. java 静态块初始化_简单了解java中静态初始化块的执行顺序

    这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在java中,其应该是先于所有的方法执行. ...

  3. java ssh客户端_简单的Java SSH客户端

    java ssh客户端 可以使用jcabi-ssh在Java中通过几行代码通过SSH执行shell命令: String hello = new Shell.Plain(new SSH("ss ...

  4. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  5. java event事件_简单的Java Event-事件框架

    自己写的一个简单的Java事件框架.目前具备以下功能: 1.通过继承Event类,用户可自定义事件. 2.通过EventService 的fireEvent(Event e) 发出一个事件. 3.通过 ...

  6. java 不定长参数_简单介绍Java的不定长度参数

    本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站 先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: public class VariAr ...

  7. java中的el表达式_简单介绍Java中的EL表达式(图)

    EL全名为Expression Language,这篇文章主要给大家介绍EL表达式的主要作用及内容简介,感兴趣的朋友一起看看 JSP页面中支持使用EL表达式,EL全名为Expression Langu ...

  8. java for 死循环_简单的java死循环 java中的死循环问题

    java中死循环是什么意思 循环一次不再循环是死循环java中死循环是什么意思 循环一次不再循环是死循环 还是不断循环才是死JAVA中死循环的意思是,不停地循环,不会终止,例如: for (int i ...

  9. udp java 检测连接_简单的JAVA UDP连接测试

    UDP不像TCP那样专门提供了一个SERVER端API,所有的都用DatagramSocket,接受packet数据报.所以说UDP是无连接的,因为所有的链接都是在数据报里,让DatagramSock ...

最新文章

  1. 我的python学习笔记
  2. 我的Android进阶之旅------gt;Android APP终极瘦身指南
  3. 开发线程安全的Spring Web应用
  4. 操作系统任务执行和任务切换的基本实现原理
  5. nginx服务器配置/websocket nginx 配置笔记
  6. seconds_behind_master监控复制推延的不足及pt-heartbeat改进方法
  7. Groovy的本地安装和Eclipse插件的配置
  8. Jquery想说爱你不容易
  9. Expression : invalid operator 解决方法
  10. 第十三届蓝桥杯青少年STEMA(2021.08-2021.03)C++
  11. 华为鸿蒙系统学习笔记4-方舟编译器源码下载及安装
  12. django 发送php,django 使用 request 获取浏览器发送的参数
  13. java两个数最大公约数和最小公倍数_java中请给出例子程序:找出两个数的最大公约数和最小公倍数...
  14. sqlplus基本使用
  15. 我们都希望有一部属于自己的电脑。
  16. 软件评测师题库--程序语言基础知识
  17. 骨传导蓝牙耳机哪款好、好用的骨传导耳机推荐
  18. 【渗透实战】web渗透实战,相对高安全级别下,详细分析整个渗透过程以及介绍社工的巧妙性,拿一站得数十站,(漏洞已交)
  19. html语言玫瑰花代码,javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
  20. 【雷达与对抗】【2016】76-81GHz平面天线在汽车雷达中的开发与应用

热门文章

  1. 读书随想1 - 阅人无数,煤气灯效应
  2. 一个高性能、轻量级的分布式内存队列系统--beanstalk
  3. ResultSet转为map
  4. TypeScript 工具类型 Partial
  5. 【跨境电商】独立站运营需要面临哪些困难?(二)
  6. 电脑计算机c盘打不开怎么办,c盘打不开怎么办【解决方法】
  7. 图片高清放大效果怎么做?这三种方法分享给你
  8. 利用行人重识别代码训练车辆重识别
  9. 房价的真相--转载自焦点房地产的一位过客评论
  10. 动态类型一时爽,代码重构火葬场?