了解Thread.currentThread()。getContextClassLoader()。getResourceAsStream()

时间:2012-09-28 18:18:20

标签: java classloader contextclassloader

我正在查看代码示例,我不确定这意味着什么。

Thread.currentThread().getContextClassLoader()
    .getResourceAsStream("MyProperty.properties");

看起来它正在寻找一个属性文件,但我不确定MyProperty.properties的位置。

感谢您的帮助,谢谢。

1 个答案:

答案 0 :(得分:6)

  

它似乎在寻找属性文件,但我不确定MyProperty.properties位于何处。

正如您目前所拥有的那样,它会查找类路径顶部的MyProperty.properties文件。可以在您的src/main/resources目录或其他src文件夹中 - 它取决于您的应用程序(jar / war)的构建方式。

如果你正在构建一个jar,那么你应该能够解压缩它并在jar的顶层看到你的属性文件。如果你正在建立一场战争,也许它应该在WEB-INF/classes目录中。同样,这取决于它是如何构建的。

通常,log4j.properties文件也位于类路径的顶部,因此您可能希望查找该文件并将属性文件放在其旁边。