无法加载 jar 中的资源

Cannot load resource in jar

我正在尝试加载 jar 中的资源,这是导出的 jar:

'main' 是包含我所有 类 的包,在其中一个 类 中,我正在尝试加载 background.png 文件。在我的 Eclipse 项目中,我将资源放在 "res/" 文件夹下,我将其添加到构建路径以包含它。当我尝试使用

new File("background.png");

找不到文件。 当我使用

MyClass.class.getClass().getClassLoader().getResource("background.png");

还是找不到文件

打包在 jar 中的文件不能作为 File 个对象访问。

当你尝试时

MyClass.class.getClass().getClassLoader().getResource("background.png");

您实际上使用的是 java.lang.ClassClassLoader 而不是 main.MyClassmain.MyClass,这可能无法找到资源(如果它是系统类加载器)。尝试

MyClass.class.getClassLoader().getResource("background.png");

相反。