Я считаю, что иметь одну войну, которая работает в разных средах, - лучшее решение, чем выпекать новую войну с опцией профиля для dev, qual и prod. Очень раздражает, что нет лучшего механизма для получения переменных среды непосредственно в web.xml без использования библиотеки, такой как spring.
Одно решение для конфигурации среды web.xml, учитывая, что настройка вашей среды связана с параметрами инициализации фильтра, такими как:
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://<foo>:8443/login</param-value>
...
Конкретный класс фильтра, указанный выше (CASFilter), является открытым. Это означает, что вы можете расширить его с помощью специального адаптера, который добавляется в конфигурацию вашей среды. Это позволяет вам держаться подальше от этого неприятного файла web.xml.