java 打包如果單純只有打包專案下的jar,這種打包都還蠻容易的,
不過如果是專案下還有資料夾 < ps.該資料夾下放一些圖檔之類的東西>,
似乎就要一點小技巧了,就算你使用 FatJar 這個打包工具,也不會讓你稱心如意。
————————————————————————————————
開始做看看唄
1.經過詢問老師的結果,如果你要讀JAR裡的圖檔時,通常讀圖的程式就要如下修改:
包成JAR,在執行時讀圖會失敗的
icon = new ImageIcon(『images/xxx.gif』);
正確應該這樣
java.net.URL imgURL;
imgURL = EditFrame.class.getResource(『images/xxx.gif』);
icon = new ImageIcon(imgURL);
備註1 : Image im = icon.getImage(); //假如 ImageIcon to Image 可以用這個
備註2 : 』 』 <—是雙引號
詳細為什麼要這樣 : 有空補上
————————————————————————————————
下面為批次檔+manifest,方便製做JAR用的
- 備註 : bat檔是用記事本編輯完後,副檔名設定成bat即可
- 備註 : manifest裡的 Main-Class: <~改成自己的起始類別
- 備註 : makeJar.bat 裡的 GO <~改成JAR做好後要的檔名
- 備註 : run.bat 裡的 GO <~改成要執行JAR檔名
- 備註 : makeJar.bat裡的 images 是放圖片的資料夾名稱
編寫好每個批次檔和manifest後開始來做 JAR檔
STEP 1 : compile.bat//編譯產生CLASS
STEP 2 : manifest.txt//須在執行 makeJar.bat 前先自己製做好
STEP 3 : makeJar.bat//產生JAR
STEP 4 : run.bat//執行JAR
————————————————————————————————
檔名 : compile.bat
編寫內容:
javac *.java
pause
檔名 : makeJar.bat
編寫內容:
jar cvfm GO.jar manifest.txt *.class images
pause
檔名 : run.bat
編寫內容:
java -jar GO.jar
——————————–
檔名 : manifest.txt
編寫內容:
Manifest-Version: 1.0
Main-Class: t052701