使用 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 教程的 packaging application 部分。
部署 EAR 的设置是一项非常艰巨的工作(尤其是在 Weblogic 下)。 WAR 的部署更简单。部署为 EAR 有两个好处:
- 您可以将多个未链接的应用程序聚合到一个文件中(整个鸡蛋放在一个篮子里)。
- 您可以借助瘦 war 技术减小此文件的大小。
- 您的 devops 只能部署一个应用程序,而不是多个。
不需要恢复链接。
- 您可以在 in\out 个耳朵模块之间设置良好的屏障。
还有很多其他的。
换句话说,在大多数情况下,one-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 教程的 packaging application 部分。
部署 EAR 的设置是一项非常艰巨的工作(尤其是在 Weblogic 下)。 WAR 的部署更简单。部署为 EAR 有两个好处:
- 您可以将多个未链接的应用程序聚合到一个文件中(整个鸡蛋放在一个篮子里)。
- 您可以借助瘦 war 技术减小此文件的大小。
- 您的 devops 只能部署一个应用程序,而不是多个。 不需要恢复链接。
- 您可以在 in\out 个耳朵模块之间设置良好的屏障。
还有很多其他的。
换句话说,在大多数情况下,one-war 模式仅用于测试和训练目的。