JavaSE應用程序打包成可運行程序

JavaSE應用程序打包成可運行程序


所需軟件

  • - MyEclipse或Eclipse(如會打包命令,此軟件可省略)

  • - exe4j

實現過程:

1.使用MyEclipse進行程序打包。


  • - 選中項目右鍵 Export...

wKiom1iejLiD2aGPAACSSFvc2uo267.jpg-wh_50


  • 選中 JAR File...點擊next

wKioL1iejOiDSo2bAAEObmt1Gaw148.jpg-wh_50


  • 選擇輸出文件位置。

wKiom1iejQqBuD-KAAGWzT8JUcg808.jpg-wh_50


  • 選擇下一步取消勾選Export classs files with compile errors

wKioL1iejSHhIFnQAAFg1JV-wjI439.jpg-wh_50


  •  選擇下一步,選擇包含main方法的類,之後點擊finish就生成jar包了

wKiom1iejTTADtoCAAGymlIaw-I450.jpg-wh_50


wKioL1iejVCzdLbtAACus7iM-t4789.jpg-wh_50


wKiom1iejWeSWhVHAAEBJ7Nr4To630.jpg-wh_50



2.生成windows下可運行的程序(.exe)文件

  • 打開exe4j.exe軟件,選擇下一步。

wKiom1iejYew-WmAAAIs6Kue5wE199.jpg-wh_50


  •  選擇"JAR in EXE" mode(只生成exe文件),下一步。

wKioL1iejZuQjQicAAHpcR-z2Kw536.jpg-wh_50

  • 填寫項目名稱和輸出路徑,下一步。

wKiom1iejarz-MhVAAGFWiNVQS0460.jpg-wh_50


  • 填寫可執行文件(.exe)的名稱,選擇可執行文件的圖片(.ico格式);之後選擇Advanced Option->32 bit or 64bit.

wKioL1iejcTAbLtnAAIqqndS24o357.jpg

  •  勾選Generate 64-bit executable

wKiom1iejeLRqmJlAAG22L11rUQ260.jpg


  • 之後一路下一步,到Configure Java invocation,添加打包好的jar包和需要導入的jar包,(因爲這裏,我沒有引用別的jar包所以單純導入打包好的jar包即可。),之後選擇包含主方法的java類,之後下一步。

wKioL1iejfjiDqeYAAGKzySQA0U722.jpg


wKiom1iejguAyn9GAAF6vwD2hzQ212.jpg


wKioL1iejh2RDt-wAAG6cChznwI406.jpg


wKiom1iejjDCqTUNAAG790IAEnU092.jpg


wKioL1iejkbCuycLAAC-pESpC50805.jpg


  • 選擇最低和最高的jdk版本,並勾選Allow JREs with a beta version number,之後選擇Advanced Options

wKioL1iejlfSnpdKAAGvjyqfQ9k782.jpg

  • 移除所有本機掃描的jdk環境變量(因爲客戶機可能沒有安裝jdk),需要將jdk打包進去。然後點擊添加,選擇jre之後下一步。

wKiom1iejmqCyYHfAAHQi1L1fCk372.jpg


wKioL1iejn_xy4XaAAEMotfW4wE002.jpg


wKiom1iejpejV3hGAAGtJ4FVJKc326.jpg

  •  選擇Client hotspot VM,之後一直下一步,最後點擊finish

wKioL1iejq6yfld6AAJb8Dsod1A931.jpg


wKiom1iejr-QmmlRAAEJml732h8155.jpg

3.問題解決

  •  一般情況下,生成的(.exe)文件是可以直接運行的,但是,有時會出現這樣的錯誤:


在myeclipse中完美運行,但是運行生成的(.exe)可執行程序,之後報錯:

wKiom1iejtyjHKrmAAF5xMyAaPw555.jpg



同時,同級目錄下多了一個error.log文件。打開查看,發現有文件無法讀取。

wKioL1iejvCBXa0RAAB43NZtudA054.jpg


wKioL1iejwnTyPtcAANSpg-TW40871.jpg


解決方法:

  • 1.將需要讀取的文件和可執行程序放到同一級目錄下即可。

wKiom1iejyTB_2vaAADiuaY7VXc242.jpg


  • 2.將程序中讀取文件的路徑轉換爲絕對路徑進行讀取。

解決之後的效果。

wKioL1iejzXzcZ3pAAHmERtD6vc005.jpg















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章