2012-02-13 138 views
2

我做了一個swing應用程序,它使用位於當前目錄中名爲'res'的文件夾中的圖像文件。爲此,我做這樣的事情:如何創建一個具有依賴項的jar文件

BufferedImage img=ImageIO.read(new File(new String(System.getProperty("user.dir")+"\\res\\back.png"))); 

當我從命令提示符運行它時,它工作得很好。但是當我製作一個jar文件時,它不會找到res文件夾,儘管res文件夾位於jar文件夾中。但是,當我將res文件夾複製到與jar相同的目錄中時,它將再次運行。我想要一個單獨的jar文件,而不依賴於外部文件夾。從classpath也許

回答

0

負載:

InputStream in = getClass().getResourceAsStream("/res/back.png"); 
BufferedImage img = ImageIO.read(in); 
+0

它提供了以下異常:java.lang.IllegalArgumentException異常:輸入== NULL!有任何想法嗎 ?? – dotnetguy 2012-02-13 19:07:30

+0

沒關係。有效。非常感謝。 :) 只是出於好奇心,爲什麼我使用的方法不起作用? – dotnetguy 2012-02-13 19:40:59

+0

因爲操作系統不知道jar內的文件。就O/S而言,jar是它可以看到的文件,它不會將jar的內容視爲單個文件。 – 2012-02-13 20:00:00

相關問題