1

Tomcat 5では、WARファイルを作成してテストサーバーに配置します。このサーバーでは、CATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリに、テストデータベースを指すmy-app.xmlファイルがありました。テストが終了したら、WARファイルをクライアントのIT部門に送信し、クライアントはファイルをCATALINA_HOME/webappsディレクトリに配置します。Tomcatのインスタンスには、本番データベースを指す別のmy-app.xmlファイルがありました。

最近、Tomcat 6にアップグレードしました。どちらかが、WARファイルをwebappsディレクトリにコピーすると、my-app.xmlファイルが削除されます。削除後、my-app.xmlファイルのバックアップをCATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリにコピーすると、Tomcat ManagerからWebアプリケーションをリロードしても、Tomcatはそれを無視します。

WARファイルのMETA-INFディレクトリにcontext.xmlファイルを追加してみました。TomcatがWARファイルを展開しているとき、my-app.xmlファイルをcontext.xmlファイルで上書きしていました。次に、my-app.xmlファイルのバックアップをCATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリにコピーして戻すと、TomcatはWARファイルと拡張ディレクトリを削除します。

適切なmy-app.xmlファイルをWARファイル内に含めることができますが、これは2つのWARファイルを作成することを意味します。1つはテストmy-app.xmlを使用し、もう1つは本番my-app.xmlを使用します。また、WARファイルまたはmy-app.xmlバックアップファイルを特定の順序で正しいディレクトリにコピーすれば、それを機能させることができます。私は複数の理由でこれらの解決策のどちらも好きではありません。

私は何が間違っているのですか?新しいバージョンでこれが機能しないのはなぜですか?オプションを変更する必要がありますか?プロセスを変更する必要がありますか?(注:クライアントのIT部門は、新しいWARファイルを再デプロイするためにTomcatを停止および開始する必要はありません。)

ありがとう!

4

1 に答える 1

3

Tomcat の自動展開が手動展開を妨げているようです。WAR ファイルを別のディレクトリ (つまり、webapps ディレクトリではない) にデプロイするか、server.xml で autoDeploy をオンにしてみてください。ここにいくつかのメモがあります: http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Automatic%20Application%20Deployment

于 2010-01-27T00:31:49.880 に答える