Я хотел бы управлять настройками в web.xml и использованием отличающегося однажды для различных сред.
Действительно ли возможно использовать свойство, от файла свойств на пути к классу, в web.xml? Что-то вроде этого:
<context-param>
<param-name>myparam</param-name>
<param-value>classpath:mypropertyfile.properties['myproperty']</param-value>
</context-param>
С уважением
P
AFAIK context-param
и env-entry
оба содержат статические значения. Вы не получите значение времени выполнения (динамическое) из файла свойств.
Это будет выглядеть так:
<context-param>
<param-name>myparam</param-name>
<param-value>myactualpropertyvalue</param-value>
</context-param>
Любое изменение значения требует повторного развертывания веб-приложения.
В вашем примере значение, которое вы получите, будет String classpath:mypropertyfile.properties['myproperty']
Если вы используете Glassfish, вы можете обновлять его на лету из командной строки http://javahowto.blogspot.com/2010/04/glassfish-set-web-env-entry.html
Если я понимаю, ваше требование - во время сборки (т.е. разные war для разных env), а не во время выполнения?
Вы можете заменить значения в web.xml как часть процесса сборки ant/maven.