關於java工程打exe包的一些問題
這兩天在把一個Java project打包成exe文件時碰到了一些問題,現在把這些問題和解決辦法記下來。
1、用java swing做前端時,背景圖片無法顯示
Solution:把jpg圖片換成png圖片。。。。。(這個我真不知道是為什麽。。折磨了我兩天)
在相應工程的src文件夾下新建一個文件夾image存放工程裏要用的圖片,就可以在打jar包的時候把圖片一起打進去了。
生成img對象的方法:
2、用exe4j將jar包打成exe包時,報錯。
Solution:嘗試了各種教程都沒成功,後來被逼的去翻譯了報錯的Log,然後發現可能是沒有把外部的jar包給一起打近exe包裏。後臺程序是剛哥寫的,我也不是很明白那些外部包是幹嘛的,可能類似於python的外部庫?反正在添加jar包的時候,把project下的lib文件夾下面的那個外部引用Jar包給一起打進去,就好了。
3、把jre打近exe包的問題。
Solution:其實我們是沒有實現把jre打進exe包裏的。我的理解是它應該是存儲了jre的相對路徑。比如說我打的exe包裏jre的路徑是 ./jre1,而剛哥的是 ./jre2之類的。當把打好的exe包復制到另一臺沒有jre包的主機的桌面時,我們的exe文件是不能跑的。而把jre2文件夾復制到桌面後,剛哥的exe文件可以跑了,而我的不能跑。把jre1文件復制到桌面後,我的也能跑的。所以裝exe的同時還需要帶上jre包這個尾巴,且jre包需要和exe文件在同一個根目錄下。但是看博客好像有人提到有簡化的方法。
4、jdk10和jdk1.8的關系
這個是沒有解決的問題。我在官網下jdk10,exe4j軟件說找不到jdk環境。然後把jdk10換成1.8,就可以正常運行exe4j了。是因為exe4j還不支持最新版的jdk還是jdk10和jdk1.8有什麽別的區別?
關於java工程打exe包的一些問題