linux java jar war_简单介绍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描述文件

---------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Web应用程序的最大缺陷

在其应用程序中使用Spring Framework的开发人员很好地谈论了依赖注入的好处。 不幸的是,他们并不是很好地利用它的好处,例如单一负责的原则和在应用程序中关注点的分离 。 如果我们看一下任何基于Spring的Web应用程序,很可能会通过使用以下常…

用C++调用tensorflow在python下训练好的模型(centos7)

本文主要参考博客https://blog.csdn.net/luoyexuge/article/details/80399265 [1] bazel安装参考:https://blog.csdn.net/luoyi131420/article/details/78585989 [2] 首先介绍下自己的环境是centos7,tensorflow版本是1.7,python是3.6(anacond…

纯CSS实现圆角边框

HTML部分&#xff1a;<body><div> <b class”t1″></b> <b class”t2″></b> <b class”t3″></b> <b class”t4″></b> <div class”cont”>这边输入实际内容</div> <b clas…

ActiveMQ producer同步/异步发送消息

http://activemq.apache.org/async-sends.html producer发送消息有同步和异步两种模式&#xff0c;可以通过代码配置&#xff1a; ((ActiveMQConnection)connection).setUseAsyncSend(true); producer默认是异步发送消息。在没有开启事务的情况下&#xff0c;producer发送持久化…

Java Priority Queue(PriorityQueue)示例

我们知道&#xff0c; 队列如下&#xff1a;F irst- 我正˚First-UT模型&#xff0c;但有时我们需要处理的基础上&#xff0c;优先级队列中的对象。 例如&#xff0c;假设我们有一个应用程序可以为日常交易生成股票报告&#xff0c;并处理大量数据并花费时间来处理它。 因此&am…

css未知尺寸的图片的水平和垂直居中

纯CSS实现未知尺寸的图片水平和垂直居中.box { /*非IE的主流浏览器识别的垂直居中的方法*/ display: table-cell; vertical-align:middle; /*设置水平居中*/ text-align:center; /* 针对IE的Hack */ *display: block; *font-size:26…

heap 的一些用法

noip 合并果子 #include<bits/stdc.h> using namespace std; int heap[maxn]; int size0; void input(int d) {heap[size]d;push_heap(heap,heapsize,greater<int>()); } int get() {pop_heap(heap,heapsize,greater<int>());//pop_heap(heap,heapsize);ret…

java 反射 new class_Java高级特性-反射:不写死在代码,还怎么 new 对象?

反射是 Java 的一个高级特性&#xff0c;大量用在各种开源框架上。在开源框架中&#xff0c;往往以同一套算法&#xff0c;来应对不同的数据结构。比如&#xff0c;Spring 的依赖注入&#xff0c;我们不用自己 new 对象了&#xff0c;这工作交给 Spring 去做。然而&#xff0c;…

EF Core利用Scaffold从根据数据库生成代码

在EF6 之前的时代&#xff0c;如果需要从数据库中生成代码&#xff0c;是可以直接在界面上操作的&#xff0c;而到了EF Core的时代&#xff0c;操作方式又有更简便的方式了&#xff0c;我们只需要记住以下这条指令。 Scaffold-DbContext "Server服务器地址;Database数据库…

如何通过CSS开启硬件加速来提高网站性能

你知道我们可以在浏览器中用css开启硬件加速&#xff0c;使GPU (Graphics Processing Unit) 发挥功能&#xff0c;从而提升性能吗&#xff1f; 现在大多数电脑的显卡都支持硬件加速。鉴于此&#xff0c;我们可以发挥GPU的力量&#xff0c;从而使我们的网站或应用表现的更为流畅…

Spring Security应用程序中的su和sudo

很久以前&#xff0c;我从事的项目具有很强大的功能。 有两个角色&#xff1a;用户和主管。 主管可以以任何方式更改系统中的任何文档&#xff0c;而用户则更受工作流约束的限制。 当普通用户对当前正在编辑和存储在HTTP会话中的文档有疑问时&#xff0c;主管可以介入&#xff…

示例介绍:JavaFX 8打印

我有一段时间没有写博客了&#xff0c;我想与其他人分享有关JavaFX的所有信息&#xff08;我的日常工作和家庭可能是借口&#xff09;。 对于那些是本博客的新手&#xff0c;我是JavaFX 2 Introduction by Example&#xff08;JIBE&#xff09;的作者&#xff0c; Java 7 Recip…

placeholder的使用

1.定义 placeholder 属性提供可描述输入字段预期值的提示信息 该提示会在输入字段为空时显示&#xff0c;并会在字段获得焦点时消失。 注释&#xff1a;placeholder 属性适用于以下的 <input> 类型&#xff1a;text, search, url, telephone, email 以及 password。 2.用…

字符串练习

字符串练习&#xff1a; http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html 取得校园新闻的编号 trhttp://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html print(a[-14:-5])https://docs.python.org/3/library/turtle.html 产生python文档的网址 trhttps:/…

CSS清除行内元素之间的HTML空白

至今我还记得年轻是在IE6上开发的那些苦逼日子,特别希望IE浏览器采用 inline-block 的显示方式.行内块(inline-block)是非常有用的,特别是想要不用block和float来控制这些行内元素的margin,padding之时。问题来了,HTML源码中行内元素之间的空白有时候显示在屏幕上那是相当的讨厌…

int64 java_为什么json 不能使用 int64类型

json 简介jsON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集 。 JSON采用完全独立于语言的文本格式&#xff0…

Spring MVC自定义验证注释

在上一教程中&#xff0c;我展示了如何使用注释来验证表单 。 这对于简单的验证非常有用&#xff0c;但是最终&#xff0c;您需要验证一些现成的注释中没有的自定义规则。 例如&#xff0c;如果您需要根据输入的出生日期来验证用户已超过21岁&#xff0c;或者可能需要验证用户的…

Best Time to Buy and Sell Stock with Cooldown

https://soulmachine.gitbooks.io/algorithm-essentials/java/dp/best-time-to-buy-and-sell-stock-with-cooldown.html转载于:https://www.cnblogs.com/ZhiHao-queue/p/9521933.html

前期

转载于:https://www.cnblogs.com/joker157/p/8618091.html

解决IE8下body{ overflow:hidden;}无效的解决办法

css中IE8 body{ overflow:hidden;}无效的解决办法&#xff1a; 在页面html中使用: body{ overflow:hidden; } 在ie8下无效 &#xff0c;仍然有滚动条。 解决的办法如下&#xff1a; 替换为如下: html { overflow:hidden; } 这样就可以实现隐藏滚动条了 而且兼容目前所有的浏览器…