Вы можете использовать подстановку переменных в стиле Ant в любом из файлов конфигурации tomcat xml, например:
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>${foo}</url-pattern>
</servlet-mapping>
Где foo
- это Системное свойство Java (sysprop).
Вы не можете использовать Переменные среды ОС (envvars) напрямую, я думаю ...
Чтобы использовать envvars, вы можете поставить
set "CATALINA_OPTS=-DsomeJavaSysProp=%SOME_OS_ENVVAR%"
в bin/setenv.bat
(или аналогично в bin/setenv.sh
для * nix). Вам может понадобиться создать этот файл. Tomcat запустит этот файл при запуске.
Поскольку CATALINA_OPTS
является envvar (в отличие от параметра командной строки), он не должен быть виден другим пользователям в системе (кроме древних Unixes), хотя я не проверял это.
http://tomcat.apache.org/tomcat-7.0-doc/config/
Если вы используете Spring, вы можете создать бин <context:property-placeholder/>
, а затем напрямую использовать envvars или sysprops в конфигурационных файлах Spring XML (но не web.xml
).