1

私の context.xml (META_INF 内) フォルダーは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>


<Context path="MY_CONTEXT_NAME" docBase="${catalina.home}/webapps/MY_APP_NAME"
        debug="0" privileged="true">

</Context>

問題は、Tomcat マネージャー経由でアプリケーション war をデプロイすると、context.xml が CATALINA_HOME> conf>Catalina>localhost フォルダーにコピーされることです。ただし、どういうわけか、まだデフォルトのコンテキスト、つまり app_war_name からデプロイされています。

以前は、localhost フォルダーにコピーされることさえありませんでした。デフォルトの context.xml フォーム tomcat 6.0>conf フォルダーを削除しました。その後、ファイルは少なくともコピーされます。ただし、展開は明示的な context.xml からは行われません。

私のserver.xmlホストエントリは次のようになります:

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

2 に答える 2

0

Context 要素の path 要素のドキュメントを参照してください。それはかなり明確に述べています

この属性は、server.xml でコンテキストを静的に定義する場合にのみ使用する必要があります。他のすべての状況では、パスは .xml コンテキスト ファイルまたは docBase のいずれかに使用されるファイル名から推測されます。

server.xml でコンテキストを静的に定義する場合でも、docBase がホストの appBase の下に配置されていないか、deployOnStartup と autoDeploy の両方が false でない限り、この属性を設定してはなりません。このルールに従わない場合、二重展開が発生する可能性があります。

次に、docBase 要素のドキュメントを読んでください。

このフィールドの値は、Context 要素が server.xml で定義されている場合、または docBase がホストの appBase の下に配置されていない場合を除き、設定しないでください。

于 2013-10-08T15:54:00.180 に答える