JAR、WAR、EAR的使用和区别
Jar、war、EAR、在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:
Jar文件(扩展名为. Jar,Java Application Archive)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等
War文件(扩展名为.War,Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
Ear文件(扩展名为.Ear,Enterprise Application Archive)包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar文件、资源、类和Web应用程序的集合。
每一种文件(.jar, .war, .ear)只能由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
EAR文件的生成可以使用winrar zip压缩方式或者jar命令。
步骤:
先打包成war和jar,并写好application.xml,放到META-INF目录下,然后 jar cf your_application.ear your_war.war your_jar.jar META-INF\application.xml,
打包,我这假设都在当前目录下 可以用 jar xf your_application.ear解压
application.xml中描述你的ear中包括的war和jar
weblogic自带的petstore 的application.xml例子:
<?xml version=”1.0〃 encoding=”ISO-8859-1〃?>
<!DOCTYPE application PUBLIC ‘-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN’ ‘http://java.sun.com/j2ee/dtds/application_1_2.dtd’>
<application>
<display-name>estore</display-name>
<description>Application description</description>
<module>
<ejb>customerEjb.jar</ejb>
</module>
<module>
<ejb>mailerEjb.jar</ejb>
</module>
<module>
<web>
<web-uri>petstore.war</web-uri>
<context-root>estore</context-root>
</web>
</module>
<module>
<ejb>petstoreEjb.jar</ejb>
</module>
<module>
<ejb>signonEjb.jar</ejb>
</module>
<module>
<ejb>personalizationEjb.jar</ejb>
</module>
<module>
<ejb>inventoryEjb.jar</ejb>
</module>
<module>
<ejb>shoppingcartEjb.jar</ejb>
</module>
<security-role>
<description>the gold customer role</description>
<role-name>gold_customer</role-name>
</security-role>
<security-role>
<description>the customer role</description>
<role-name>customer</role-name>
</security-role>
<security-role>
<role-name>administrator</role-name>
</security-role>
</application>
WAR的使用:
如果想生成war文件:可以使用如下命令:jar -cvf web1.war *
如果想查看web1.war中都有哪些文件,可以使用命令:jar -tf web1.war
如果想直接解压web1.war文件,可以使用命令:jar -xvf web1.war
另外,也可使用winrar软件选择zip压缩方式,并将压缩文件后缀名改为war即可压缩生成war文件;同样使用winrar软件可以强行打开war 文件,或者强行解压war文件
使用jar命令与winrar软件的区别在于前者在压缩文件的同时会生成MetaINF文件夹,内包含MANIFEST.MF文件。
何时使用war或者jar文件:
当你的项目在没有完全竣工的时候,不适合使用war文件,因为你的类会由于调试之类的经常改,这样来回删除、创建war文件很不爽,最好是你的项目已经完成了,不改了,那么就打个war包吧,这个时候一个war文件就相当于一个web应用程序鸟;而jar文件就是把类和一些相关的资源封装到一个包中,便于程序中引用。
分享到:
相关推荐
Java中Ear、Jar、War文件之间有何不同
war包_jar包_ear包_及打包方法
jar_war_ear文件.doc
怎样制作ear,war文件?提供两种方法
专门搜索jar,zip,war,ear压缩包里包含的文件
关于war包_jar包_ear包_及打包方法
本篇文章,小编为大家介绍,基于Java的打包jar、war、ear包的作用与区别详解。需要的朋友参考下
对于Java开发人员来说,这是一个非常有用的实用程序。 有时您的项目可能依赖于各种库。 但是,提供具有依赖项的桌面应用程序不是一个好主意。 该实用程序有助于将所有... 该实用程序可用于合并JAR,WAR,EAR和ZIP文件。
1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装配置 1.19 Oracle,MySql,SQL server分页 1.20 Jboss下的第一个EJB程序 1.21 JNDI 1.22 JNDI配置...
maven 用法 指南 java 基础 配置 安装 apache 打包 jar war ear
WildFly可启动JAR包含服务器和打包的应用程序(JAR,EAR或WAR)。 构建应用程序并将其打包为可启动JAR之后,您可以使用以下命令启动该应用程序: java -jar target/myapp-bootable.jar要获取启动参数列表: java -...
org.apache.tools.ant.taskdefs.Ear org.apache.tools.ant.taskdefs.Get org.apache.tools.ant.taskdefs.Jar org.apache.tools.ant.taskdefs.Tar org.apache.tools.ant.taskdefs.War org.apache.tools.ant....
过滤显示*.java,*.class,*.mf,*.jar,*.war,*.ear,*.properties等文件。 能察看编辑保存*.java,*.mf,*.properties等文件。 能编译运行*.class,*.jar文件。 能察看jar,ear,war等文件信息。 本类中采用...
解决myeclipse10.6不能正常导出ear或war包问题,导出时出现security alert:integrity check error 内附解决方法和jar包com.genuitec.eclipse.export.wizard_9.0.0.me201203160414.jar 关掉myeclipse10.6,替换文件,...
您将使用Maven将WAR文件和JAR文件打包到EAR文件中,以便可以在Open Liberty上运行和测试该应用程序。 您将构建一个单位转换器应用程序,该程序将高度从厘米转换为英尺和英寸。 该应用程序将要求用户输入以厘米为...
maven 用法 指南 java 基础 配置 安装 入门 eclipse jar ear war 打包 rad
“ EAR搜索”工具使您可以在给定的JAVA归档文件(EAR,WAR,JAR和ZIP)中搜索文本和正则表达式。 该工具会在包含的存档文件中进行递归搜索。
网上的EJB3.0开发都太如人意,要么是JBossIDE+Ant开发,要么是MyEclipse。...对于后者要把jar、war和ear的打包是分别做的,真正开发项目时哪有那么多时间呀!在这里我用一个小例子说明如何使用MyEclipse6.5快速开发EJB
解压缩:EGG、ALZ、ACE、ARC、ARJ、B64、BH、BHX、BIN、BZ、BZ2、CAB、EAR、ENC、GZ、HA、HQX、ICE、IMG、ISO、JAR、LHA、LZH、MIM、NRG、PAK、RAR、TAR、TBZ、TBZ2、TGZ、UUE、UU、WAR、XXE、Z、ZIP、ZOO、7Z
支持来自各种生态系统的包和库(APK、DEB、RPM、Ruby Bundles、Python Wheel/Egg/requirements.txt、JavaScript NPM/Yarn、Java JAR/EAR/WAR、Jenkins 插件 JPI/HPI、Go 模块) Linux 发行版识别(支持 Alpine、...