19

Tomcat のドキュメントには次のように書かれています。

コンテキスト記述子の場所は次のとおりです。

$CATALINA_HOME/conf/[エンジン名]/[ホスト名]/context.xml
$CATALINA_HOME/webapps/[webappname]/META-INF/context.xml

私のサーバーには、少なくとも 3 つのファイルが浮かんでいます。

1 ...tomcat/conf/context.xml
2 ...tomcat/Catalina/localhost/myapp.xml
3 ...tomcat/webapps/myapp/META-INF/context.xml

優先順位は?

4

3 に答える 3

34

リストしたファイルの場合、すべてのデフォルトを使用していると仮定した場合の簡単な答えは、次のとおりです(conf / Catalina / localhostに注意してください)。

...tomcat/conf/context.xml
...tomcat/conf/Catalina/localhost/myapp.xml
...tomcat/webapps/myapp/META-INF/context.xml

これ(および以下の説明)は、コンテキストコンテナのTomcat5.5公式ドキュメントに基づいています。

それが単純な答えである場合、完全な答えは何ですか?

Tomcat5.5。<Context>あなたがリストしたもの以外の要素を他のいくつかの場所で探します(公式ドキュメントを参照してください)。

Tomcatがを見つけた場合、META-INF/context.xmlは開かれませんCatalina/localhost/myapp.xml。したがって、実際に上記のすべてのファイルがある場合は、優先順位が最も低いということではなく、無関係であると言う方が正しいMETA-INF/context.xmlでしょ

<Context override="true" ...>あなたがあなたの中で言うならばCatalina/localhost/myapp.xml、それはに関係なく、それを最高の優先順位にしconf/context.xmlます。META-INF\context.xmlあなたが持っていない限り、あなたの中に同じことCatalina/localhost/myapp.xml(前の段落を参照)。

また、/Catalina/localhost/上記のファイルのパスの部分は、実際には「デフォルト」から外れており、conf/server.xmlに一致し<Engine name="Catalina" defaultHost="localhost">ます。とでserver.xml異なる値を使用する場合、Tomcatが検索するdir構造体です。namedefaultHost<Engine>

最後に、...tomcat\リストしたファイルの部分について、Tomcatは$CATALINA_BASE環境変数のdirを使用します。$CATALINA_HOMEこれが設定されていない場合は、Tomcatインストールのディレクトリである環境変数のdirを使用します。$CATALINA_BASETomcatのインストールを「汚染」しないように設定して使用するのが好きです。

于 2008-11-26T23:32:42.993 に答える
1

私の理解は次のとおりです。

  • tomcat/conf/context.xml は「デフォルト」の context.xml であり、そのコンテンツは webapp コンテキスト定義でオーバーレイされます。私の TC 5 のデフォルトの context.xml には、この概念をサポートする監視対象リソースとして web.xml をリストする以外には、ほとんど何も含まれていません。
  • tomcat/Catalina//.xml は webapp に使用されます。ここに手動で配置するか、デプロイ時に Web アプリケーションから取得します。これが TC が使用する実際のマスターです。この変更を編集すると、次回起動時に読み込まれます。
  • tomcat/webapps/myapp/META-INF/context.xml - 初期展開後にこれを変更すると、初期展開時に tomcat/Catalina/ にコピーされ ますが、何の効果もないと思います
于 2008-11-26T22:11:54.700 に答える
0

公式のドキュメントは見つかりませんでしたが、ロード順序は次のようになっていることがわかりました。

1 tomcat_home/conf/context.xml
2 tomcat_home/webapps/myapp/META-INF/context.xml

#2 は最後に適用されたものです (該当する場合、その設定は以前のすべての設定を上書きします)。

コンテキスト ファイルという名前の webapp を使用したことがありません (オプション #2)。

于 2008-11-26T22:03:01.427 に答える