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

Ton*_*ony 7 java classloader contextclassloader

我正在看一个代码示例,我不确定这意味着什么.

Thread.currentThread().getContextClassLoader()
    .getResourceAsStream("MyProperty.properties");
Run Code Online (Sandbox Code Playgroud)

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

感谢您的帮助.

Gra*_*ray 7

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

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

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

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