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















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