Java – Problem retrieving properties file from webapp in tomcat

javatomcat

I've developed a web application that worked fine in JBoss 4. Now, I need to make it work in Tomcat 6, but I'm having trouble to access some properties file. I use the following code to read read these files:

InputStream is = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream(fileName);
if (is == null) {
    throw new StartupError("Error loading " + fileName);
}

properties.load(is);

As I've said before, it works fine in JBoss 4. But when I deploy my app in tomcat, it doesn't find the file, assigning null to 'is' variable, causing the StartupError to be thrown. The file is located at WEB-INF/config directory, and the webapp is deployed as a war.

Any solution for this problem?

Thanks,
Alexandre

Best Answer

Put the properties files in WEB-INF/classes.

Or include them in the root of one of your webapp Jar files, although this makes it harder to edit them. This is good if you're selecting properties within a build script and don't want to edit them once deployed.