2

Tomcat5からTomcat7に移動したばかりで、展開に問題があります。

私は最初にWebアプリケーションにコピーしてアプリケーションウィジェットをデプロイwidget.warします。これは機能し、Tomcatは戦争をデプロイして爆発させます。

問題は、変更を加えたいときに発生します。

戦争を再展開するとすべてが機能しますが、戦争をリモートサーバーにアップロードしているため、これは非常に遅くなる可能性があります。したがって、1つのクラスを変更するだけの場合は、新しいクラスを展開されたフォルダー構造に直接コピーしてから、Tomcatをシャットダウンして再起動しますが、効果はありません。

私が解決したのは、widget.warが再デプロイされたため、新しいクラスがwidget.war内の古いバージョンのクラスに置き換えられたためだと思います。そこで、widget.warを手動で削除して上書きできないようにしましたが、シャットダウン/起動時にウィジェットフォルダーがまったくありません。消えます!

これはなぜですか、これはTomcat5では発生しませんでした。

4

2 に答える 2

2

このように単一ファイルの修正を展開することは、サーバー上で実行されているものを再構築できない状況に陥る確実な方法であり、維持するのは面倒です。

クリーンな解決策は、完全な war ファイルのみを展開することです

リモートサーバーへのコピーが遅いとおっしゃいましたか? これには簡単な解決策があります:

最新の war ファイルのコピーをリモート サーバー (Tomcat webapps ディレクトリの外) のどこかに保存しrsync、新しいバージョンをその上に保存します。変更されたデータのみを転送する必要があるため、これははるかに高速です。次に、そのディレクトリからデプロイします。

于 2012-09-18T07:20:00.620 に答える
1

tomcat の実行中に .war ファイルを削除すると、展開されたディレクトリも削除されます。最初に tomcat をシャットダウンし、.war ファイルを削除してからもう一度開始するか、.war ファイルを手動で webapps フォルダーに解凍しないでください (ただし、.war ファイルを webapps に配置しないでください)。

于 2012-09-18T07:12:39.470 に答える