我的項目設置的Java:從文件系統
加載資源,我有以下項目設置:
\program.jar
\images\logo.png
在我的代碼,我引用圖像與相對URL "images/logo.png"
。
問題
如果我運行這個程序用下面的命令,而在目錄:
c:\projects\program_dir\bin\>java -jar program.jar
然後一切工作和Java是能夠找到的圖像。
現在,我的問題是,我需要能夠從不同的目錄中運行程序。
c:\>java -jar c:\projects\program_dir\bin\program.jar
該程序已執行,但現在所有相對URL都不再有效。
我需要什麼
如何計算program.jar文件的執行回家,這樣我可以改變我的相對URL爲絕對URL?
+1利用類路徑加載靜態資源。 另請參閱:http://stackoverflow.com/questions/861500/url-to-load-resources-from-the-classpath-in-java,http://stackoverflow.com/questions/3294196/load-resource -from-anywhere-in-classpath,http://stackoverflow.com/questions/1900154/classpath-resource-within-jar – 2010-07-22 13:09:55