提问者:小点点

使用EAR与战争的好处?


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

EAR是否提供了WAR所没有的东西?使用WAR确实降低了打包的复杂性。在部署方面有什么不同吗?EJB命名?任何东西?


共2个答案

匿名用户

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

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

您可能需要阅读JavaEE教程的打包应用程序部分。

匿名用户

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

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

还有很多很多其他人。

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