web-dev-qa-db-ja.com

展開されたWARファイルの利点/欠点

今日読んだ質問への答えは、展開された(unzipされた)アプリケーションをデプロイすることを提案しました [〜#〜] war [〜#〜] 。考えさせられました。

私がこれまでにJBoss/Tomcatに対して行ったすべてのデプロイメントは、WAR/ [〜#〜] ear [〜#〜] ファイルを使用しています。少なくとも覚えている限り。

私はここ数年ずっと間違えていますか?

アプリをパッケージ化するのではなく、拡張形式でデプロイすることには利点がありますか?

59
Kevin D

それは、他の質問で爆発したWARについて言及した私の答えだったと思います。展開されたWARの方がナビゲートしやすく、アプリケーションの「パーツ」をはるかに迅速にデプロイできます(Web/Appサーバーがこれをどのように処理するかによって異なります)。 JSPページのような単一のリソースを置き換えます。ただし、いくつかの欠点があります。

1.)実際に実行しているバージョンは何ですか? 「うーん、今はよくわかりません」

2.)セキュリティ-展開形式に適切な権限がありますか?

3.)混乱-豊富なファイルが素敵なアプリ/ウェブサーバー全体に広がっています(一部の人はこれを嫌いです)。

私はプロトタイプのDev作業のために爆発的に行き、それから私が得たPRDにより近い適切なパッケージに移動する傾向があります。

54
Martijn Verburg

展開されたear/warをデプロイすることで得られる唯一の真のメリットは、サーバー上のファイルをホットスワップできることと、パッケージングに節約された時間(IMHOは無視できる程度)です。

基本的に-これは開発段階で役立つ機能です。運用環境では、この展開方法を選択しません。

いくつかの難解な機能のために分解戦争を必要とするいくつかのウェブアプリケーションサーバーもありますが、これは私が通常の使用で遭遇したものではありません。

14
Yuval Adam

開発段階では、展開して展開する方が快適です。このようにして、JSPページと同様に、デプロイされたリソースをホット更新できます。

テスト環境と本番環境では、代わりにパッケージ化されたデプロイメントを好んでいます。

8
Tomas Narros

デプロイ時にWAR/EARを分解しなくても、アプリケーションサーバーに影響はありません。これは、その下で、すべてが爆発しているためです。

たとえば、WARファイルをTomcatのwebappの下に置くと、作業ディレクトリの下にWARファイルが展開されていることがわかります。

基本的に、WAR/EARはファイルをアーカイブするだけなので、移動やデプロイが簡単になります

4
mezzie

欠点:Windowsを使用している場合、OSが展開された.war内のファイルをランダムにロックすることがよくあり、war全体を削除して再デプロイするのは困難です。

3
Luca Molteni

AFAIK、ホット展開は爆発した戦争でのみ可能です。また、開発中はサーバー上のプロジェクトツリーを簡単に参照できます。もちろん、他にもメリットとデメリットがあります。

2
Petar Minchev