私が今日読んだ質問への回答は、展開された (解凍された) WARとしてアプリケーションをデプロイすることを提案しました。考えさせられました。
JBoss/Tomcat に対してこれまでに行ったすべてのデプロイメントには、WAR/ EARファイルが含まれていました。少なくとも私が覚えている限りでは。
ここ数年、私は間違いを犯していたのでしょうか?
アプリをパッケージ化するのではなく、展開した形でデプロイする利点はありますか?
それが、他の質問で爆発したWARに言及した私の答えだったと思います。展開された WAR はナビゲートしやすく、アプリケーションの「部分」をはるかに迅速に展開できます (Web/アプリケーション サーバーがこれを処理する方法によって異なります)。たとえば、JSP ページなどの単一のリソースを置き換えます。ただし、いくつかの欠点があります。
バージョン管理- 実際に実行しているバージョンは? 「うーん、いまいちよくわからない」
セキュリティ- 展開された形式に対して適切な権限が設定されていますか?
乱雑- ファイルが大量に、素敵なアプリ/Web サーバー全体に散らばっています (これを本当に嫌う人もいます)。
結論:私はプロトタイプの開発作業に大忙しになり、PRD に近づくにつれて適切なパッケージングに移行する傾向があります。
爆発した耳/戦争を展開することから得られる唯一の本当の利点は、サーバー上のファイルをホットスワップする機能と、パッケージングで節約される時間です (私見は無視できます)。
基本的に、これは開発段階で便利な機能です。実稼働環境にこの展開方法を選択することはありません。
一部の難解な機能のために爆発的な戦争を必要とする Web アプリケーション サーバーもありますが、これは私が通常の使用で遭遇したものではありません。
開発段階では、それを展開する方が快適です。このようにして、一部のデプロイ済みリソース (JSP ページなど) をホット アップデートできます。
テスト環境と本番環境の場合は、代わりにパッケージ化された展開を好みます。より軽量で、展開者にとって扱いやすいです。
短所: Windows を使用している場合、展開された .war 内の一部のファイルが OS によってランダムにロックされることが多く、war 全体を削除して再デプロイするのが難しくなります。
デプロイ時に WAR/EAR を展開しなくても、Application Server には何の違いもありません。これは、それらがすべて分解されているためです。
たとえば、WAR ファイルを tomcat の webapp の下に置くと、作業ディレクトリの下に WAR ファイルが展開されることがわかります。
基本的に、WAR/EAR はファイルをアーカイブするだけなので、簡単に移動して展開できます。
私の知る限り、爆発した戦争でのみホット展開が可能です。また、開発中は、サーバー上のプロジェクト ツリーを簡単に参照できます。もちろん、他にもメリットとデメリットがあるかもしれません。