Все эти ответы здесь, а также ответы в на этот вопрос показывают, что загрузка абсолютных URL-адресов, таких как «/foo/bar.properties», обрабатывалась одинаково с помощью class.getResourceAsStream(String)
и class.getClassLoader().getResourceAsStream(String)
. Это не так, по крайней мере, не в моей конфигурации / версии Tomcat (в настоящее время 7.0.40).
MyClass.class.getResourceAsStream("/foo/bar.properties"); // works!
MyClass.class.getClassLoader().getResourceAsStream("/foo/bar.properties"); // does NOT work!
Извините, у меня нет абсолютно никакого объяснения, но я думаю, что tomcat делает грязные трюки и его черную магию с загрузчиками классов и вызывают разницу. Я всегда использовал class.getResourceAsStream(String)
в прошлом и не имел никаких проблем.
PS: Я также разместил это над здесь