Java getClassLoader与getSystemClassLoader的区别是什么?

时间:2019-03-06 11:07:58

标签: java classloader

我们在 src / main / resources 下有一个属性文件kafka.properties和以下两个代码段。

1: ClassLoader.getSystemClassLoader().getResourceAsStream("kafka.properties");

2 this.getClass().getClassLoader().getResourceAsStream("kafka.properties");

这两个代码段都可以在我的本地计算机上正常工作。但是,每当我们将应用程序部署到云服务器上时,仅 second 代码段有效。

我假设这与以下事实有关:在我们的服务器上,我们正在运行一个压缩的.jar文件,而当我在本地运行该文件时,IntelliJ会在内存中对其进行编译并使用文件系统进行查找。

我很好奇是什么原因造成的,这两种方法之间的具体区别是什么?

0 个答案:

没有答案