gpt4 book ai didi

java - 问题-远程热部署、多模块Maven项目

转载 作者:行者123 更新时间:2023-12-01 15:55:06 25 4
gpt4 key购买 nike

我知道这里有很多信息......但可能还有其他人遇到这样的问题,我认为讨论这个问题会有很大帮助,或者至少得到一些不错的意见/建议。

好吧,让我首先概述一下我们的环境。

我们有一个多模块 Maven 项目,包含大约 11 个 JAR。依赖于这些内部 JAR 的是 9 个 WAR 文件,其中 8 个放置在 EAR 文件中。剩余的 WAR 文件作为单独的应用程序单独部署。当构建 8 个 WAR 文件(驻留在 EAR 中)时,它们将构建为瘦 WAR 文件,因此生成的 EAR 文件具有最小大小,并且所有依赖项都位于 APP-INF/lib 部分中。所有这些都没有问题。我们当前部署到具有大量内存和 CPU 的远程 WebLogic 10.3 服务器,因此负载不在我们的个人计算机上。我们还使用持续集成构建服务器发布夜间快照。

我们正在部署的 Artifact :
包含 8 个 WAR 文件、11 个内部 JAR 和第三方库的 EAR 文件:~70MB
其他 WAR 文件:~110MB

我们的一些软件工程师希望通过 VPN 连接在家工作,并拥有增量/热部署选项。否则,由于我们如何使用 Web 逻辑/maven 进行部署,他们被迫构建整个 EAR 文件或 110MB WAR 文件并通过 VPN 上传它们。这并不有趣,而且速度也不快。我一直在阅读JRebel,并且想知道是否还有其他人将 JRebel 与多模块 Maven 项目一起使用来进行远程部署,以及如何有效地进行部署。

根据我的一些阅读,建议将更改“上传”到服务器,并让rebel.xml 配置读取特定部署的这些目录,这……好吧,让我们遇到了手头的问题。我如何告诉 Maven 将更改的资源/新编译的类文件转储到其他目录,以便我可以将它们上传到服务器和适当的文件夹(我们的服务器托管在不同端口上运行的 10 多个 WebLogic 实例,每个实例一个实例)开发商)。或者只是让开发人员与网络共享他们的工作区文件夹,并配置rebel.xml 文件(例如在JAR 中)指向相应的//COMPUTERNAME/workspace/jarProjectName/target/classes 文件夹。我预见到的问题是,每次他们启动 WebLogic 时,都会通过网络抓取所有 .class 和配置文件以及 JSP 文件,因为 Rebel.xml 文件首先获胜,这对于 VPN 来说将是可怕的。不过,部署完成后,热部署应该照常工作。我只是不想在第一次启动时通过网络传输所有类的不必要的开销,不仅如此,有时开发人员在办公室,关闭计算机,然后回家。那么 JRebel/WebLogic 会发生什么?

这似乎是一个更好的主意,只查看各个 Maven 项目中哪些文件发生了更改,并将它们通过 FTP 传输到服务器上的正确位置,以便 JRebel 可以完全在服务器端完成它的工作。有没有人有一个好方法来做到这一点?或者也许有人有一个根本不涉及 JRebel 的解决方案。我们来谈谈吧。

最佳答案

现在也可以使用 JRebel 进行远程部署。设置非常简单,无需特殊的网络配置、在远程计算机上打开端口等。

http://zeroturnaround.com/jrebel/remoting

它严重依赖 IDE 插件,但体验就像在本地计算机上进行开发

关于java - 问题-远程热部署、多模块Maven项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com