2008-10-24 20 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