爆炸 WAR 文件的优点/缺点
Posted
技术标签:
【中文标题】爆炸 WAR 文件的优点/缺点【英文标题】:Advantages/Disadvantages to exploded WAR files 【发布时间】:2011-04-23 20:11:41 【问题描述】:我今天阅读的一个问题的答案建议将应用程序部署为展开(解压缩)WAR。这让我开始思考。
我对 JBoss/Tomcat 所做的每次部署都使用 WAR/EAR 文件。至少在我的记忆中。
这些年来我一直在犯错吗?
以扩展形式而不是打包形式部署应用程序是否有优势?
【问题讨论】:
【参考方案1】:AFAIK,只有在爆发战争的情况下才能进行热部署。而且在开发过程中更容易浏览服务器上的项目树。当然还有其他优点和缺点,我很高兴听到。
【讨论】:
【参考方案2】:在开发阶段更容易部署它爆炸。这样您就可以热更新一些已部署的资源(JSP 页面也可以)。
对于测试和生产环境,我更喜欢打包部署:更轻便,更易于部署人员处理。
【讨论】:
【参考方案3】:您从部署爆炸耳朵/战争中获得的唯一真正好处是能够在服务器上热交换文件,以及在打包时节省的时间(恕我直言,这可以忽略不计)。
基本上 - 这是开发阶段的有用功能。我不会为生产环境选择这种部署方法。
也有一些 web 应用服务器需要为一些深奥的功能爆发战争,但这不是我在日常使用中遇到的。
【讨论】:
热插拔是否适用于侦听器和 servlet 或仅适用于 jsp 文件? @KorayTugay 这真的取决于你的服务器能力【参考方案4】:我认为这是我在另一个问题中提到爆炸的 WAR 的答案。 Exploded WAR 更易于导航,您可以更快地部署应用程序的“部分”(取决于我们的 Web/App 服务器如何处理此问题),例如替换单个资源,如 JSP 页面。但是它可能有一些缺点:
版本控制 - 您真正运行的是什么版本? “嗯,我现在不太确定”
安全性 - 您是否为展开的格式设置了适当的权限?
混乱 - 大量文件散布在您漂亮的应用程序/网络服务器上(有些人真的很讨厌这个)。
底线:我倾向于进行原型开发工作,然后在离 PRD 越近的地方进行适当的包装。
【讨论】:
它很可能是,它肯定与热部署有关......也许是永久问题。当文件被服务器爆炸时,我可以轻松查找和替换文件,但我肯定多次遇到场景 1 :) 您能解释一下为什么您更喜欢将爆炸的 WAR 用于开发,而将打包的 WAR 用于生产吗?我只是好奇,因为另一个答案建议相反。 为了安全/可靠性,我知道使用打包和签名的 WAR 应用程序没有被更改/篡改。【参考方案5】:部署时不爆炸 WAR/EAR 对 Application Server 没有任何影响。这是因为在下面,它们都被炸开了。
比如你在tomcat的webapp下放一个WAR文件,你会看到在你的工作目录下,你的WAR文件会在那里炸开。
基本上,WAR/EAR 只是存档您的文件,以便更容易移动和部署
【讨论】:
这和我想的 Mezzie 差不多。总是对我错了的可能性持开放态度。 并不总是爆炸。 Web 容器可以在不解压缩的情况下导航内容。许多默认情况下会“爆炸”/解压缩,但不一定。【参考方案6】:缺点:如果你在windows上,你会经常发现操作系统随机锁定了爆炸的.war中的一些文件,你很难删除整个war并重新部署。
【讨论】:
以上是关于爆炸 WAR 文件的优点/缺点的主要内容,如果未能解决你的问题,请参考以下文章