java 捆绑_java – 如何在jar文件中捆绑图像
在這里似乎有兩個問題:
>如何讓NetBeans在構建項目時將jar包含在生成的jar中?
>如何從jar中訪問映像文件?
此應用程序適用于NetBeans 6.8并解決了兩個方面的問題.
假設您有一個基于ant的Java應用程序項目.
這是項目的“文件”視圖
JP
+ images
+ test.jpg
+ nbproject
+ src
+ jp
+ Main.java
+ test
+ build.xml
+ manifest.mf
在你的Main.java里面,你有這樣的代碼:
public static void main(String[] args) throws IOException {
// find the file in the file system.. probably not a good idea
File f = new File("images/test.jpg");
System.out.println(f.getCanonicalPath()+" "+f.exists());
當您從NB內部運行此項目時,您將得到以下輸出:
/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg true
當你運行代碼包裝到jar中時,你會得到這樣的東西:
bash-3.2$pwd
/export/home/vkraemer/nbhg/web-main
bash-3.2$java -jar /export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar
/export/home/vkraemer/nbhg/web-main/images/test.txt false
為了在執行jar時獲得更好的效果,您需要執行以下操作:
將images目錄添加為項目的源根目錄.
右鍵單擊該項目并選擇“屬性”項.將出現一個對話框.
在對話框左側的列表中選擇“來源”.這將改變對話框右側面板的內容.
按“源包文件夾”表旁邊顯示的“添加文件夾…”按鈕.將出現一個FileChooser.
使用此選擇器選擇圖像文件夾,然后按OK按鈕.圖像文件夾的條目將被添加表.
使用“項目屬性”對話框中的“確定”按鈕接受更改并關閉對話框.
public static void main(String[] args) throws IOException {
// find the file in the file system.. probably not a good idea
File f = new File("images/test.jpg");
System.out.println(f.getCanonicalPath()+" "+f.exists());
URL url = Main.class.getResource("/test.jpg");
System.out.println(url);
當您從IDE內部運行項目時,您應該看到如下:
/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg true
file:/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg
當你運行代碼包裝到jar中時,你會得到這樣的東西:
bash-3.2$pwd
/export/home/vkraemer/nbhg/web-main
bash-3.2$java -jar /export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar
/export/home/vkraemer/nbhg/web-main/images/test.jpg false
jar:file:/export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar!/test.jpg
獲取test.jpg文件的URL后,可以使用ImageIcon(URL)創建圖標
總結
以上是生活随笔為你收集整理的java 捆绑_java – 如何在jar文件中捆绑图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的static,final,代码
- 下一篇: Tensorflow线程队列与IO操作