首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >大耳部署

大耳部署
EN

Stack Overflow用户
提问于 2009-10-14 16:11:17
回答 3查看 2K关注 0票数 3

我正在研究如何通过一个相当慢的VPN连接将一个巨大的(40-50 MB) EAR文件部署到服务器上。EAR包含用Glassfish创建的EJB和WAR项目,90%的文件大小来自使用的外部依赖库。

有人提出了一种将subproject).

  • Related优雅部署到Netbeans生产系统的策略,在该策略中,部署(通过网络)只用于真正需要的东西(即只进行一次战争,而不是整个EAR,或者只是一个库,而不是整个库),直到第一点,如何将Netbeans中的外部依赖库从项目中分离出来,这样项目就可以在开发机器上编译,但是当创建EAR/ WAR /EJB时,它并不包含所有的依赖JAR,这使得它变得非常庞大。

也许我们需要写自定义的蚂蚁脚本?开始使用maven?

谢谢你们的回答,

家伙

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-15 12:10:43

下面是将依赖项从EAR转移到共享目录中的一个坏主意:通过将所有依赖项保留在EAR中,应用服务器能够干净地卸载/重新部署EAR,并收回它在JVM堆中使用的空间(对于Sun JVM,permgen)。如果将某些依赖项移动到共享库中,则这些依赖项可能会维护对EAR中定义的某个对象的硬引用。这将意味着不能删除EAR类,最终应用服务器将在耗尽permgen空间后崩溃。

我对SSH的建议是基于"VPN“是指Windows,它在复制文件时有大量的来回通信。使用SSH (或者更正确地说,使用SCP或RSYNC),您可以使用连接的全部带宽。

如果这仍然太慢,您应该考虑改变您的基础设施。由于VPN对我来说意味着公司网络,也许您可以在与部署机器相同的网络段上安装一台构建机。从流程的角度来看,这是一个更好的主意:您不应该从开发人员工作站部署构建。相反,您应该将源代码签入干净的环境,进行构建,运行测试,然后部署。

另一种选择是看看你的应用服务是否支持“爆炸耳朵”--如果是的话,你只需上传已经改变的罐子。

票数 4
EN

Stack Overflow用户

发布于 2010-03-18 09:39:11

一种合理的方法可能是在本地构建EAR,然后使用rsync镜像文件,然后触发重新部署。由于如果基础jars不改变,EAR文件的大多数部分不会更改,因此您将从rsync算法中获得很大好处。

票数 1
EN

Stack Overflow用户

发布于 2012-02-08 19:27:41

为什么不将库ear复制到/glassfish安装dir/glassfish/domains/domain 1/lib,而不将它们打包到ear文件中呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1567360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档