Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于发布web应用程序的EAR与RPM? 当将Web应用程序发送到生产时,您会考虑企业应用程序归档还是RPM?< /P>_Java_Linux_Jakarta Ee - Fatal编程技术网

Java 用于发布web应用程序的EAR与RPM? 当将Web应用程序发送到生产时,您会考虑企业应用程序归档还是RPM?< /P>

Java 用于发布web应用程序的EAR与RPM? 当将Web应用程序发送到生产时,您会考虑企业应用程序归档还是RPM?< /P>,java,linux,jakarta-ee,Java,Linux,Jakarta Ee,每种方法的优缺点是什么 使用RPM,您可以跟踪版本控制并正确处理配置文件 让我们假设您的应用程序不会安装在Windows设备上,因此操作系统依赖性不是我们担心的问题。我使用过或研究过的大多数Java web应用程序通常都是作为企业或web存档发布的。除了非常具体的场景外,RPM的情况非常弱 有几点有利于EAR/WAR文件: 安装通常很容易,即使它涉及一些手动过程,将EAR/WAR文件复制/上载到指定目录。但是,您需要了解您的目标受众。如果您希望Linux系统管理员(对Java应用程序服务器知之

每种方法的优缺点是什么

使用RPM,您可以跟踪版本控制并正确处理配置文件


让我们假设您的应用程序不会安装在Windows设备上,因此操作系统依赖性不是我们担心的问题。

我使用过或研究过的大多数Java web应用程序通常都是作为企业或web存档发布的。除了非常具体的场景外,RPM的情况非常弱

有几点有利于EAR/WAR文件:

  • 安装通常很容易,即使它涉及一些手动过程,将EAR/WAR文件复制/上载到指定目录。但是,您需要了解您的目标受众。如果您希望Linux系统管理员(对Java应用程序服务器知之甚少或一无所知)执行应用程序的安装和维护,那么您选择RPM可能是正确的。然而,对于企业来说,这是一个罕见的案例,因为从支持的角度来看,这没有什么意义;在生产过程中遇到安装/配置问题时,您根本不希望受第三方应用程序开发人员的摆布

  • EAR/WAR文件可以以允许便携安装的方式发布。从理论上讲,一个构建可以支持多个容器。这比要求每个容器发布RPM要好得多;每个RPM都必须安装一个特定于应用程序的容器,并将EAR/WAR文件发布到此嵌入式容器。如果您希望让您的客户保留部署到他们自己的容器上的选择,仅RPM部署模型将要求他们从RPM中提取EAR/WAR文件,然后自己执行部署

  • RPM不能用于以标准方式跨商业容器(如WebLogic、WebSphere等)部署应用程序。除非您希望您的客户采用涉及目录布局、群集模式等的标准安装模型,否则无法这样做。RPM是内部创建的,以单个客户为目标,可能没有这个问题,因为可以建立关于如何安装和配置容器的内部标准


从上面的陈述可以推断,EAR/WAR文件应该始终可用,以满足客户的需求,并且增加了使用RPM进行无麻烦安装的可能性。

你说得对,RPM只有在您为特定目的而制作,并且安装它们的人不想对Java了解太多的情况下才有意义。如果您希望实现自动化,EAR/WAR部署有哪些选项?有了RPM,您可以将其放在一个中央存储库中,并且您的所有服务器都将顺利更新。有没有与EAR/WAR相近的功能?AFAIK,EAR/WAR部署的自动化是可能的,但通常是特定于容器的。您需要为每个容器和每个版本编写脚本来执行这些操作。就更新的展开而言,这通常是使用构建系统完成的。您可以让您构建系统,将EAR/WAR文件发布到Maven存储库,还可以将“已发布”的工件部署到服务器上。感谢Vinet的回答。