.war和.ear文件有什么区别?
当前回答
J2EE定义了三种类型的档案:
Java Archives (JAR) JAR文件封装了一个或多个Java类、一个清单和一个描述符。JAR文件是最低级别的存档。JAR文件在J2EE中用于打包ejb和客户端Java应用程序。 Web Archives (WAR) WAR文件类似于JAR文件,除了它们专门用于由servlet、jsp和支持类构建的Web应用程序之外。 企业档案(EAR)“EAR文件包含组成特定J2EE应用程序的所有组件。
其他回答
Ear文件提供了配置与应用程序服务器交互的更多选项。
例如:如果应用服务器的hibernate版本比依赖项提供的版本旧,您可以为JBOSS在ear-deployer-jboss-beans.xml中添加以下内容以隔离类加载器并避免冲突:
<bean name="EARClassLoaderDeployer" class="org.jboss.deployment.EarClassLoaderDeployer">
<property name="isolated">true</property>
</bean>
或者到src/main/application/META-INF/jboss-app.xml:
<?xml version="1.0"?>
<jboss-app>
<loader-repository>
loader=nameofyourear.ear
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</jboss-app>
这将确保应用程序和应用服务器之间没有类加载器冲突。
通常,类加载器机制是这样工作的:
当一个类装入请求被提交给类装入器时,它首先被提交 请求它的父类装入器来完成请求。父类,在 Turn向它的父类请求类,直到请求到达顶部 层次结构。如果类装入器位于层次结构的顶部 不能满足请求,则调用它的子类装入器 负责加载类。
通过隔离类加载器,ear类加载器将不会查找父类(=JBoss /其他AS类加载器)。 据我所知,战争档案是不可能的。
JAR文件
JAR (Java Archive的简称)文件允许将多个文件进行组合 文件变成一个单一的。带有“。jar”的文件;扩展被 软件开发人员分发Java类和各种元数据。 它们还保存库和资源文件,以及附件文件 (如属性文件)。
用户可以使用Java Development Kit的工具提取和创建JAR文件 (JDK). jar命令。也可以使用ZIP工具。
JAR文件有可选的清单文件。清单文件中的条目 规定JAR文件的用途。文件类的“主”类规范 将文件表示为分离的或“独立的”程序。
WAR文件
WAR(或Web应用程序存档)文件可以包含XML (可扩展标记语言)文件,Java类,以及Java服务器 网页,供互联网应用之用。它也被用于标记 库和Web页面组成了Web应用程序。文件 ”。war的扩展包含了与服务器或JSP使用的Web应用程序 服务器页)容器。它有JSP, HTML(超文本标记 语言)、JavaScript和用于创建上述内容的各种文件 Web应用程序。
WAR文件的结构是这样的,以允许特殊目录和 文件。它还可能具有数字签名(非常类似于JAR文件) 以显示代码的准确性。
EAR文件
EAR(企业存档)文件将JAR和WAR文件合并为一个 单一档案。这些文件带有'。Ear '扩展有一个目录 元数据。这些模块被打包成一个存档,以便平滑和 在应用服务器中同时操作不同的模块。
EAR文件还有部署描述符(XML文件) 它有效地规定了不同模块的部署。
使项目的传输、部署变得容易。 需要压缩成一个文件。 JAR (java存档).class文件组
WAR (web存档)——每个WAR代表一个web应用程序 -只使用web相关技术,如servlet, jsp可以使用。 -可以在Tomcat服务器上运行 web应用程序开发的web相关技术只有JSP servlet HTML js - info只表示没有事务。
EAR(企业存档)——每个EAR代表一个企业应用程序 -我们可以使用j2ee中的任何东西,比如ejb, JMS都可以愉快地使用。 -可以在Glassfish服务器上运行,而不是在Tomcat服务器上。 -任何技术开发的企业应用程序,从j2ee到所有web 应用程序加上ejbs JMS等。 -使用信息表示进行交易。如。银行app,电信app
参见:http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html
焦油(磁带档案) —使用的格式为以fileName、fileSize、fileData为串行单位写入的文件 -不压缩。可以是巨大的
Jar (java存档) -使用的压缩技术 -通常包含Java信息,如类/ Java文件。但可以包含任何文件和目录结构
战争(web应用程序档案) -类似于jar文件只有特定的目录结构,根据JSP/Servlet规范用于部署目的
耳朵(企业档案) -类似jar文件。目录结构符合J2EE要求,这样它就可以部署在J2EE应用服务器上。 -可以包含多个JAR和WAR文件
J2EE定义了三种类型的档案:
Java Archives (JAR) JAR文件封装了一个或多个Java类、一个清单和一个描述符。JAR文件是最低级别的存档。JAR文件在J2EE中用于打包ejb和客户端Java应用程序。 Web Archives (WAR) WAR文件类似于JAR文件,除了它们专门用于由servlet、jsp和支持类构建的Web应用程序之外。 企业档案(EAR)“EAR文件包含组成特定J2EE应用程序的所有组件。
推荐文章
- Java 8流和数组操作
- Java Regex捕获组
- Openssl不被视为内部或外部命令
- 如何添加自定义方法到Spring Data JPA
- 如何在Ubuntu中设置Java环境路径
- 无法执行dex:在Eclipse中超过GC开销限制
- 有人能解释一下JPA和Hibernate中的mappedBy吗?
- 是什么导致JNI调用变慢?
- Java中的&和&&有什么区别?
- 使用Java的Collections.singletonList()?
- Maven使用多个src目录编译
- 导入时无法解析符号
- 用谓词限制流
- 为特定的代码行禁用特定的Checkstyle规则?
- Java中生成UUID字符串的有效方法(UUID. randomuuid ().toString()不带破折号)