2008-10-24 297 views
7

我使用下面的代码加载了一个图片资源,它在我的开发环境(netbeans)下工作正常,但是一旦它从桌面上运行就会抛出异常。Class.getResource中的奇怪大小写敏感错误?

new ImageIcon(Images.class.getResource("images/highlighter24.gif")); 

我将其追溯到我的文件有不同的情况比在代码中。

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

Gremlins?

注意:我在你问之前在windows上运行。

回答

15

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

我以前见过这种类型的东西,一个Web应用在Windows上工作正常,但在Unix上失败了,因为我们在URL中遇到了错误的情况。

如果你认为jar文件是“只是另一个文件系统”,那么它是有道理的,即使它有点不协调有点恼人。

+0

不知道这是否正确,但它可以解释为什么我可以构建我的应用程序,而另一个应该锁定的jar文件。 该死的你netbeans! jk – 2008-10-24 19:43:14