Tomcat
が初めてです。約5つのアプリを実行する開発マシンがあります。それは開発者ですが、テスト中にクライアントによってかなり頻繁に使用されます。
したがって、1つのクラスファイルに1つの小さな変更を加える必要があると言います。今、Tomcatをシャットダウン(他の4つのアプリに影響)、WAR
ファイル(およびWebアプリディレクトリ)を削除し、新しいWAR
ファイルを再デプロイして、Tomcat
を再起動する必要があります。
もちろん、これはすべてのアプリのすべてのログインセッションを破壊するため、数人を混乱させます。
これを行うためのより良い方法はありますか?つまり、devマシン上のすべてではなく、変更されたCLASSのみをリロードする方法はありますか?
ありがとう。
TomcatのManagerアプリケーション を使用しようとしましたか? Tomcatをシャットダウンすることなく、warファイルを展開/展開できます。
Managerアプリケーションを使用したくない場合は、webappsディレクトリからwarファイルを削除することもできます。Tomcatは短時間後にアプリケーションをアンデプロイします。その後、warファイルをディレクトリにコピーして戻すと、Tomcatはwarファイルをデプロイします。
TomcatをWindowsで実行している場合、さまざまなファイルをロックしないように configure コンテキストが必要になる場合があります。
ダウンタイムが絶対にない場合は、 Tomcat 7のParallel deployments 同じコンテキストパスを持つWebアプリケーションの複数のバージョンを同時にデプロイできます。リクエストをコンテキストバージョンに一致させるために使用されるルールは次のとおりです。
複数の簡単な方法があります。
任意のwebappのweb.xmlをタッチするだけです。
touch /usr/share/Tomcat/webapps/<WEBAPP-NAME>/WEB-INF/web.xml
また、warファイル全体をビルドして再度デプロイするのではなく、WEB-INF/libの特定のjarファイルを更新してからweb.xmlをタッチすることもできます。
Webapps/YOUR_WEB_APPディレクトリを削除すると、Tomcatは5秒以内にwarのデプロイを開始します(warファイルがwebappsフォルダーにまだ存在すると仮定します)。
一般に、warファイルを新しいバージョンで上書きすると、Tomcatによって自動的に再デプロイされます。そうでない場合は、上記で説明したようにweb.xmlに触れることができます。
コピー 既に展開された「ディレクトリ」からwebappsフォルダーに
Apache Tomcatのconfディレクトリには、context.xmlファイルがあります。その編集タグでは、<Context reloadable = "true">として。これで問題は解決し、サーバーを再起動する必要はありません