Class.getResource中奇怪的区分大小写错误?

All*_*nde 8 java resources

我正在使用以下代码加载图像资源,它在我的开发环境(netbeans)中运行良好,但是一旦从桌面运行就抛出异常.

new ImageIcon(Images.class.getResource("images/highlighter24.gif"));
Run Code Online (Sandbox Code Playgroud)

我将其追溯到我的文件,其中包含的内容与代码中的不同.

很好,我的坏,但为什么不一致的行为?

捣蛋鬼?

注意:在你问之前我在Windows上运行.

Jon*_*eet 16

让我猜一下:在NetBeans中,它是从文件系统加载它(不区分大小写),而从桌面运行时,它是在一个jar文件中(区分大小写).

我之前见过这样的事情,一个Web应用程序在Windows上工作正常但在Unix上失败,因为我们在URL中遇到了错误的情况.

如果你认为jar文件是"只是另一个文件系统",那么它就有意义了,即使它有些不一致也有些烦人.