Документация 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 размещается в базе приложений хоста.
Текст, выделенный жирным шрифтом, ясен. Но уведомляю как не верный. (Мне нужно именно такое поведение)
Вот шаги:
conf\Catalina\localhost\aaa.xml
OK conf\Catalina\ localhost\aaa.xml
изменен!!! Что не так? Это ошибка или скрытая функция?
Предыстория — проблема, которую я хочу решить:
Независимая от конфигурации сборка и установка. Я планирую отправить военный файл. Клиент индивидуально настраивает свой Tomcat, используя свои собственные настройки. когда я отправляю новый выпуск, я просто доставляю войну без конфигурации, и при развертывании она будет использовать конфигурацию, специфичную для клиента.
По документации лучшее место - это context.xml Но если он каждый раз перезаписывается, то нет смысла его использовать вообще. (зачем мне использовать JNDI и подобные вещи, если нужно создать новый результат? Изменение чего-либо во время сборки не является большим преимуществом конфигурации.)
Среда: windows, tomcat 6.0.33