我们在 src / main / resources 下有一个属性文件kafka.properties和以下两个代码段。
1:
ClassLoader.getSystemClassLoader().getResourceAsStream("kafka.properties");
2 :this.getClass().getClassLoader().getResourceAsStream("kafka.properties");
这两个代码段都可以在我的本地计算机上正常工作。但是,每当我们将应用程序部署到云服务器上时,仅 second 代码段有效。
我假设这与以下事实有关:在我们的服务器上,我们正在运行一个压缩的.jar文件,而当我在本地运行该文件时,IntelliJ会在内存中对其进行编译并使用文件系统进行查找。
我很好奇是什么原因造成的,这两种方法之间的具体区别是什么?