2

Hostすべての Web アプリを自動的にデプロイしない があります。

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="false"
        xmlValidation="false" xmlNamespaceAware="false">

しかし、開発目的で、 dreambear Web アプリを再起動せずに自動的にリロードする必要があります (したがって、これは Server Fault ではなく SO にあります)。

Catalina/localhost/dreambear.xml :

<Context reloadable="true">
    <Parameter name="gamePageUrl" value="http://****/dreambear.html" />
</Context>

dreambear.war を webapps ディレクトリに配置して、Web アプリをデプロイします。残念ながら、自動的にリロードされません:

  • (Host:unpackWARs = false): 新しいバージョンの WAR が検出されない
  • (Host:unpackWARs = true): 新しいバージョンの WAR は解凍されません
  • (Host:unpackWARs = true): アンパックしたディレクトリを削除すると、新しい WAR はアンパックされますが、デプロイされません。

私が望むものを達成する方法はありますか?autoDeploy新しいWARを入れるたびにコンテキストxmlが削除されるため、有効にしたくありません(こちらを参照)。

4

1 に答える 1

3

いくつかの組み合わせを試しましたが、それらのどれもが にautoDeploy設定された WAR ファイルから再デプロイされませんfalse

ドキュメントの状態から、in wntreloadableへの設定は機能しませんtrueContext

Catalina で /WEB-INF/classes/ および /WEB-INF/lib のクラスの変更を監視し、変更が検出された場合は Web アプリケーションを自動的にリロードする場合は、true に設定します。

マネージャーWebアプリからのリロードも試しました

http://localhost:8080/manager/reload?path=/dreambear

ただし、これも戦争からの変更はありません

これは、Web アプリケーション コンテキストが再読み込み可能でなく、/WEB-INF/classes ディレクトリ内のクラスまたはプロパティ ファイルを更新した場合、または /WEB-INF/lib ディレクトリ内の jar ファイルを追加または更新した場合に役立ちます。

マネージャーのドキュメントはこれについてより明確です

現在、Web アプリケーションが WAR ファイルから直接デプロイされている場合、(classes または web.xml ファイルへの変更を取得するための) アプリケーションのリロードはサポートされていません。これは、Web アプリケーションがアンパックされたディレクトリからデプロイされた場合にのみ機能します。WAR ファイルを使用している場合は、デプロイを解除してからデプロイするか、更新パラメーターを使用してアプリケーションを再度デプロイして、変更を取得する必要があります。

于 2010-10-18T07:00:42.293 に答える