您可以使用Ant風格的變量替換任何Tomcat的XML配置文件,如:
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>${foo}</url-pattern>
</servlet-mapping>
凡foo
是Java System Property(sysprop)。
不能使用OS Environment Variables(envvars中)直接,我想......
要使用envvars中,你可以把
set "CATALINA_OPTS=-DsomeJavaSysProp=%SOME_OS_ENVVAR%"
在
bin/setenv.bat
(或類似的bin/setenv.sh
用於* nix)。您可能需要創建該文件。 Tomcat將在啓動時運行該文件。
由於CATALINA_OPTS
是一個envvar(與命令行選項相對),它不應該被系統上的其他用戶看到(保存古老的Unix),儘管我沒有測試過它。
http://tomcat.apache.org/tomcat-7.0-doc/config/
如果你正在使用Spring,你可以創建一個<context:property-placeholder/>
bean,然後直接使用envvars中或sysprops在Spring XML配置文件(儘管不是web.xml
)。
看看接受的答案[這裏]的第一個選項(http://stackoverflow.com/questions/2161054/where-to-place-configuration-properties-files-in-a-jsp-servlet-web -應用)。通過使用來自外部文件的資源加載,只需要在你的類路徑中可用,我認爲你可以實現你想要的。 – gamliela 2012-07-18 16:28:56
我知道你至少可以引用HOME env變量如下$ {user.home} - > 不確定這是否有用,但可能以創造性的方式使用它。 請參閱[SSL HOWTO](http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html)有一個 –
nsof
2011-02-08 21:38:10