I need to read a properties files that’s buried in my package structure in com.al.common.email.templates.
I’ve tried everything and I can’t figure it out.
In the end, my code will be running in a servlet container, but I don’t want to depend on the container for anything. I write JUnit test cases and it needs to work in both.
When loading the Properties from a Class in the package
com.al.common.email.templatesyou can use(Add all the necessary exception handling).
If your class is not in that package, you need to aquire the InputStream slightly differently:
Relative paths (those without a leading ‘/’) in
getResource()/getResourceAsStream()mean that the resource will be searched relative to the directory which represents the package the class is in.Using
java.lang.String.class.getResource('foo.txt')would search for the (inexistent) file/java/lang/String/foo.txton the classpath.Using an absolute path (one that starts with ‘/’) means that the current package is ignored.