繁体   English   中英

使用EAR与WAR相比的好处?

[英]Benefits over using an EAR vs. WAR?

我们正在Wildfly 8上部署我们的JavaEE 7应用程序。以前,我们已将所有企业应用程序(WAR,多个EJB JAR文件)打包为EAR。 但是,JavaEE现在允许您将EJB打包在WAR文件中(或作为WAR的WEB-INF / lib中的JAR),我们想知道部署EAR是否有任何好处,而不是使用WAR打包。

EAR是否提供了WAR不具备的功能? 它肯定会降低使用WAR的封装复杂性。 部署方面有什么不同吗? EJB命名? 什么?

  • 部署更容易(只有一个包而不是多个包)。
  • 某些服务器(例如Weblogic,但不是wildfly)允许整个EAR的共享会话。
  • 通常,EAR提供了更多用AS配置的选项。
  • 特殊文件夹(APP-INF),用于定义配置文件application.xml

如果您的应用程序只包含多个WAR,那么您可能会发现维护多个部署并不是一件大事。 但是,请考虑使用WAR,EJB,JMS等的应用程序。在EAR中管理所有这些组件之间的交互将更加容易。

您可能希望阅读Java EE教程的打包应用程序部分。

设置EAR的部署非常困难(特别是在Weblogic下)。 部署WAR更简单。 作为EAR的部署有两个好处:

  1. 您可以在一个文件中聚合多个未链接的应用程序(一个篮子中的全蛋)。
  2. 你可以借助瘦小的战争技术减少这个文件的大小。
  3. 您的devops只能部署一个应用程序而不是几个应用程序。 不需要链接恢复。
  4. 您可以在输入/输出模块之间设置良好的构建屏障。

还有很多其他人。

换句话说,在大多数情况下,单战模式仅用于测试和培训目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM