Window’s Java Note

写在开头

起因是我想把学过的Java知识捡起来,所以决定先写一个简单的能源管理系统。
编程用的软件是Eclipse,图形页面用的是Java自带的GUI。
在完成GUI代码后,我很好奇后缀为.java的文件如何转换为exe文件,所以就有了这篇文章。

java代码生成exe文件的具体操作

  1. java代码打包成.jar包
  2. 用软件exe4j将.jar包转换成exe文件

这个部分我是参考的另一为博主的文章手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件,这位博主写得很详细。
下面会介绍一下我按照这位博主操作中遇到的问题,供大家参考。

遇到的问题

  • 从exe4j官网download下载的文件无法安装

    我遇到的情况是点击下载好的文件不能立刻安装exe4j,而是要求点击locate后选择jre文件
    通常jre文件会和java环境变量在一个文件夹,正常会在路径C:/Program Files/Java中。
    如果没有的话直接去下载就好.

  • 导出的exe文件无法运行
    显示如下错误

    java.lang.UnsupportedClassVersionError: src/Main has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.URLClassLoader.defineClass(Unknown Source)
    at java.URLClassLoader.access$100(Unknown Source)
    at java.URLClassLoader$1.run(Unknown Source)
    at java.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
    

    解决方案:exe4j 配置JRE(Configure JRE)填java version的时候我没有严格遵守博主的操作,最小版本填了1.5,最大版本填了1.8,导出后运行exe文件显示jdk版本错误之类的信息。
    解决方案就是最小版本要比自己电脑中的jre版本低,最大留空不要填。

  • exe文件可以正常运行后,每次运行都会有如下弹窗


    这个原因是因为软件没有激活使用,激活码可以在网上找。
    激活操作如下:


    Name和Company分别表示姓名和公司,随便填就好,第三行License Key就是激活码,全部填入点击OK就可以。
    注意:软件激活后重新用exe4j转换一下

更多推荐

如何把写好的java代码生成exe程序?