Tomcat обновляет context.xml, но не должен

Документация Tomcat (http://tomcat.apache.org/tomcat-6.0- документ/конфигурация/контекст.html)

Только если файл контекста не существует для приложения в $CATALINA_BASE/conf/[enginename]/[hostname]/ в отдельном файле по адресу /META-INF/context.xml внутри файлов приложения. Если веб приложение упаковано как WAR, тогда /META-INF/context.xml будет скопировано в $CATALINA_BASE/conf/[enginename]/[hostname]/ и переименовано в соответствовать пути контекста приложения. Как только этот файл существует, он будет не заменяться, если новая WAR с более новым файлом /META-INF/context.xml размещается в базе приложений хоста.

Текст, выделенный жирным шрифтом, ясен. Но уведомляю как не верный. (Мне нужно именно такое поведение)

Вот шаги:

  1. aaa.war с context.xml, включенным в META-INF
  2. скопировать в веб-приложения. Tomcat развертывает. Файл conf\Catalina\localhost\aaa.xml OK
  3. измените aaa.war, изменив META-INF/context.xml
  4. скопируйте в webapps
  5. Файл conf\Catalina\ localhost\aaa.xml изменен!!!

Что не так? Это ошибка или скрытая функция?

Предыстория — проблема, которую я хочу решить:

Независимая от конфигурации сборка и установка. Я планирую отправить военный файл. Клиент индивидуально настраивает свой Tomcat, используя свои собственные настройки. когда я отправляю новый выпуск, я просто доставляю войну без конфигурации, и при развертывании она будет использовать конфигурацию, специфичную для клиента.

По документации лучшее место - это context.xml Но если он каждый раз перезаписывается, то нет смысла его использовать вообще. (зачем мне использовать JNDI и подобные вещи, если нужно создать новый результат? Изменение чего-либо во время сборки не является большим преимуществом конфигурации.)

Среда: windows, tomcat 6.0.33

5
задан takacsot 6 March 2012 в 18:06
поделиться