exe4j 打包 jar 文件为 exe 文件(GUI程序)

  • 1、资源分享
  • 2、把项目打包成 exe 文件
    • 2.1 把项目打包成 jar 包(用 fatjar 打包项目)
      • (1) 把 net.sf.fjep.fatjar_0.0.32.jar 包放入 eclipse\plugins 目录下
      • (2) 完成第一步后,在 eclipse 中对项目使用右键会新增红色框框框起来的功能
      • (3) 点击 Build Fat Jar 后的界面
      • (4) 点击 next
      • (5) 打包后的效果
    • 2.2 把 jar 包制作成可执行文件
      • (1) 运行 exe4j
      • (2) Welcome 直接点 next ,Project type 选中第二个 "JAR IN EXE" mode ,然后点 next
      • (3) Application info
      • (4) Executable info
      • (5) Java invocation
      • (6) JRE
      • (7) 一直点 next
  • 3、遇到的问题
    • 1、双击 exe4j 后,启动 exe4j 报错
    • 2、运行时报错
      • 2.1 忘记勾选 Generate 64-bit executable 产生的报错
      • 2.2 exe4j 使用的 java 版本太低,项目本身运行时的 java 版本太高产生的报错

1、资源分享

exe4j 下载:
https://pan.baidu.com/s/1wN50LGxClyZuOR9XZoDVGQ        提取码:luck
java 部分版本下载:
https://pan.baidu.com/s/1q4PHkKUlSxk4LRU4DCopLg           提取码:luck

2、把项目打包成 exe 文件

2.1 把项目打包成 jar 包(用 fatjar 打包项目)

要打包的项目:

(1) 把 net.sf.fjep.fatjar_0.0.32.jar 包放入 eclipse\plugins 目录下

(2) 完成第一步后,在 eclipse 中对项目使用右键会新增红色框框框起来的功能

(3) 点击 Build Fat Jar 后的界面

(4) 点击 next


确认无误后点击 finish 弹出下面窗口点 ok ,项目打包成 jar 包完成。

(5) 打包后的效果

2.2 把 jar 包制作成可执行文件

(1) 运行 exe4j

(2) Welcome 直接点 next ,Project type 选中第二个 “JAR IN EXE” mode ,然后点 next

(3) Application info

(4) Executable info

示例的程序是有可视化界面的,所以选 GUI 程序

此处通过点 next 是到不了下图的,需要手动点击左侧栏。

同理,此处通过点 next 是到不了下图的,需要手动点击左侧栏

(5) Java invocation



点击 next

(6) JRE


如果想使代码在别的没有安装 Java 环境的电脑上运行:保持上截图中的 Advanced Options 不变,然后点击左侧栏中的 Search sequence。如果只是单纯的在本机中运行的话,可以跳过下面三张截图,直接 next 。


(7) 一直点 next


这时候报错:

分析:

截图开始



截图结束

我把三个默认配置全部删除后,又没在 exe 文件的同级目录下添加 java 运行环境 jdk 或 jre,所以只要添加进来就好了。

解决:

发给别人时,只需把含 exe 文件的文件夹发给别人,别人也可以在无 java 的环境下运行该程序。

3、遇到的问题

1、双击 exe4j 后,启动 exe4j 报错

No JVM could be found on your system. Please define EXE4J_JAVA_HOME to point to an installed 64-bit JDK or JRE or download a JRE from www.java.com.


解决1:
配置 JAVA_HOME 且 JAVA_HOME 为 jre 的目录不是 jdk 的目录。

初次配置 JAVA_HOME 的还需为系统变量中的 Path 变量添加一行。

注意:1、从 jdk-11 开始不再生成 jre 文件夹,不需要再添加 jre 文件夹的位置;
2、 jdk1.7 或者 jdk1.8 安装后,会自动在系统中注册一些东西,所以就算换了路径(更改环境变量中的 JAVA_HOME 的路径),在 cmd 窗口中输入命令 java -version 显示的还是原来的 jdk1.7 或者 jdk1.8 版本。
参考的:解决方法

2、运行时报错

2.1 忘记勾选 Generate 64-bit executable 产生的报错
The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.


解决2.1:
回顾参考的流程,发现 4.Executable info 中的 32-bit or 64-bit 界面内的 Generate 64-bit executable 忘记勾选了

2.2 exe4j 使用的 java 版本太低,项目本身运行时的 java 版本太高产生的报错
java.lang.UnsupportedClassVersionError: compilationPrinciple/MainClass has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(Unknown Source)at java.security.SecureClassLoader.defineClass(Unknown Source)at java.net.URLClassLoader.defineClass(Unknown Source)at java.net.URLClassLoader.access$100(Unknown Source)at java.net.URLClassLoader$1.run(Unknown Source)at java.net.URLClassLoader$1.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.net.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)


先看两张截图:


解决2.2:
方案一:删除 exe4j 中的三个默认配置文件,重新添加 jdk 路径,并且拷贝一份与配置同名的 jdk 跟 exe 文件放在一起。

方案二:新建 Java Project 项目,并且修改项目依赖的 jdk 环境,然后重新打包一份 jar 包,最后再用 exe4j 将新打包好的 jar 制作成 exe 文件。

exe4j 打包 jar 文件为 exe 文件(GUI程序)相关推荐

  1. 使用EXE4J将JAR包转换为EXE文件

    EXE4J是一个不错的打包软件,它可以将JAR包打包成EXE文件以便于在WINDOWS环境下运行,笔者经过使用.对其使用方法进行了总结,现介绍如下: 1.启动EXE4J,如下图: 图中OPEN按钮用于 ...

  2. 使用exe4j把jar转换成exe文件时,报错java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite

    在使用Eclipse 导出jar后,使用exe4j做成exe文件时保错,java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composit ...

  3. 【exe4j】如何利用exe4j把java桌面程序生成exe文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  4. exe4j打包jar成exe,实现在没JDK环境的电脑运行

    首先下载 exe4j exe4j_x32免安装版_x64安装版 不破解的话,运行打包的exe会有exe4j的欢迎语. 准备可执行jar文件. 使用eclipse 第二个Package required ...

  5. 潇洒郎:用cxfreeze打包py文件为exe文件全过程——呕心吐血经验——安装、调试、解决KeyError: 'TCL_LIBRARY'问题、最终成功、打包方便技巧

    用cxfreeze打包py文件为exe文件全过程:必须全部看完,正确在后面 注意:当前环境是Play_Craw, pip install cx-freeze 时自然安装到了C:\Users\xiaos ...

  6. php程序打包exe文件下载,手把手教你把前端代码打包成msi和exe文件

    本文主要介绍Electron应用如何打包成msi和exe文件. 由于介绍Electron打包成msi和exe的文章很少,官方的文档也一笔带过,在研究的过程中踩了很多坑,所以写下此文,给其他人一个参考. ...

  7. java jar manifest文件,java打包jar,以及manifest文件使用说明

    java打包jar,以及manifest文件使用说明 http://20921556.javaeye.com/blog/263974 关键字: java jar Java的一种文档格式,JAR文件非常 ...

  8. Idea打包jar,MANIFEST.MF文件没有Main-Class属性 xxx.jar中没有主清单属性

    Idea打包jar 下图中圈出来的路径不能是默认的,需要放在项目根路径下,修改为:D:\IntelliJIdea\project\MyFtpServer\META-INF\MANIFEST.MF. 修 ...

  9. Java小工具-猜数字游戏(exe版)另附Java文件转exe文件教程

    游戏效果: 系统会随机生成一正整数(1~100),猜测该数字,猜的次数越少,得分越高,6次猜不中,游戏结束.在这之前你将无法退出程序! 程序部分截图: 没有很复杂的逻辑,就直接上代码了(可以直接跑): ...

最新文章

  1. 06 面向对象之:反射,双下方法
  2. B1013 数素数(20分)
  3. 【Matlab 图像】bwlabel() 连通域及图像分割
  4. 移动端像素概念,viewport,适配
  5. mysql中char和text的区别_mysql中text与varchar与char的区别
  6. jboss-5.1.0_JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!
  7. win32以动态链接库导出类及其成员变量
  8. 老男孩教育每日一题-第95天-shell脚本知识点:书写脚本完成ftp上传下载
  9. 哈理工OJ1219——结构体
  10. Pascal基本教程
  11. java安装教程(eclipse)
  12. 浅谈利用强化学习A3C玩转超级玛丽奥
  13. 2021年机修钳工(中级)报名考试及机修钳工(中级)考试资料
  14. 怎么查询域名mx记录是否生效
  15. zoj 2476 Total Amount
  16. 私有化部署文字识别SDK
  17. 【AirSim】Windows下搭建AirSim
  18. PV、PVC、StorageClass讲解
  19. 上行短信 写入mysql_学习-短信的上行(MO)和下行(MT)详解
  20. AutoCAD Civil 3D-放坡-从曲面放坡到曲面的步骤

热门文章

  1. 【甄选靶场】Vulnhub百个项目渗透——项目七:DerpNStink-1(sql注入,流量分析)
  2. LNMP环境一键安装
  3. mobaxterm多屏操作_MobaXterm远程连接Linux图形用户界面
  4. Android USB Accessory分析
  5. <!-- 8、【循环练习-蜗牛爬井】 --><!-- 井里有一只蜗牛,他白天往上爬5米,晚上掉3.5 米,井深56.7米,计算蜗牛需要多少天才能从井底到爬出来。 -->
  6. 没用的思考:实例方法只能由对象来调用吗?
  7. 如何自动cradle wince模拟器
  8. 一级指针赋值与二级指针赋值
  9. 打造万能的RecyclerView的Adapte
  10. 将数据集分为训练集和测试集(python脚本)