Java小程式:JarImageFetcher

之前使用Eclipse幫高中同學改一隻他們要交的小遊戲時,就覺得很狐疑,為甚麼用class跑就可讀曲到圖片,將它們包成jar檔案就不能用,我明明是用與以前放在jar裡可以跑的程式碼呀?

後來才發現,原來是我沒有把Java-doc看完,在ClassLoader的getResource方法中寫了一段註記
The name of a resource is a '/'-separated path name that identifies the resource.
譯:資源的名稱是以'/'(正斜線)作為區分的的路徑名稱。
在windows上,若不以正斜線作分隔,直接執行class檔,是可以抓到所需的資源;但是,若將所有的資源都包成Jar後,就會抓不到所需的資源了。這也是造成我程式問題,若沒有細看這些註記,實在很難發現問題點。

觀看JarImageFetcher的完整原始碼。

留言