I’m building two apps that uses commons-configuration XMLConfiguration. Since the apps are related, I’ve build another project, called commons, that has a custom configuration manager that initializes the XMLConfiguration like so:
config = new XMLConfiguration("conf/config.xml");
What happens is that the “command-line” app works fine, loading the configuration file. But when I try to use my custom configuration manager on a webapp (using Tomcat) I get a
org.apache.commons.configuration.ConfigurationException: Cannot locate configuration source
I’ve placed the conf directory on the WEB-INF folder, the root folder and the META-INF folder. I’ve also tried with "/conf/config.xml", "./conf/config.xml" and "../conf/config.xml".
The only time I got this to work – on the web app – was using an absolute path.
What am I missing?
Thanks,
Bruno
Use
ServletContext.getResourceAsStream(..), and pass the stream. Or if the file is on the classpath, you can usegetClass().getResourceAsStream(..)