...
- Use a classloader's getResource to get an url to the properties file and load it into the Properties. The properties file must be located within the webapp classpath (i.e. either
WEB-INF/classes/...
or in a jar inWEB-INF/lib/
).
A challenge is to get the classloader when you are in a static initializer:
...
No. If you can edit Tomcat's startup scripts (or better create a setenv.sh
file), you can add "-D" options to Java. But there is no way to add such properties in web.xml or the webapp's contextin Java to have different values of system properties for different classes in the same JVM.
There are some other methods available, like using ServletContext.getContextPath()
to get the context name of your web application and locate some resources accordingly, or to define <context-param>
elements in WEB-INF/web.xml
file of your web application and then set the values for them in Tomcat context file (META-INF/context.xml
). See http://tomcat.apache.org/tomcat-7.0-doc/config/context.html .
How do I use log4j for all Tomcat log output?
...