Tomcatのドキュメント(http://tomcat.apache.org/tomcat-6.0-doc/config/context.html)Tomcatのアップデートはcontext.xmlにではなく、
はコンテキストファイルが存在しない場合のみべき $ CATALINA_BASE/conf/[enginename]/[hostname] /のアプリケーションでは、アプリケーションファイル内の /META-INF/context.xmlの個々のファイルにあります。 アプリケーションがWARとしてパッケージ化されている場合、/META-INF/context.xmlは$ CATALINA_BASE/conf/[enginename]/[hostname] /にコピーされ、 に変更された はアプリケーションのコンテキストパスに一致します。 このファイルが存在すると、新しい/META-INF/context.xmlを持つ新しいWARがホストのappBaseに配置された の場合、 は置き換えられません。
太字のテキストはクリアです。しかし、私は真実ではないと通知します。 (私はまさにこの動作を必要とする)ここで
は、手順は次のとおりです。のcontext.xmlと
- aaa.warは、WebアプリケーションへのMETA-INF
- コピーに含まれています。 tomcatがデプロイします。 WebアプリケーションへのMETA-INF/context.xmlにに
- ファイル
conf\Catalina\localhost\aaa.xml
を - コピーを変更することにより、
conf\Catalina\localhost\aaa.xml
OK - 変更aaa.warファイルが変更されます!
どうしたのですか?バグか隠された機能ですか?
背景 - 解決したい問題:
構成に依存しないビルドとインストール。私は戦争ファイルを出荷するために植えます。クライアントは自分自身の設定を使用してTomcatを設定します。私が新しいリリースを出荷するとき、私は設定なしで戦争だけを配信し、展開するとクライアント固有の設定を使用します。
ドキュメントでは、最適な場所はcontext.xmlですが、毎回上書きすると意味がありません。 (?なぜ私は新しい成果物を作成するためにしている場合、ビルド時に何かを変更すると、大きな構成の利点はなく、JNDIと、このようなものを使用します。)
環境:窓、tomcatに私がしました6.0.33
類似した問題:http://stackoverflow.com/questions/4158468/tomcat-context-management – takacsot
このサイトには既に回答があります:http://stackoverflow.com/questions/7142365/how-to-provide-a -context-a-web-application-tomcatのための設定 – takacsot