精华内容
下载资源
问答
  • 利用 exe4j 将 JAR 包制成免安装 JDK 的 EXE 文件   将 JAR 包制成能在 Windows 上直接运行的 EXE 文件,是很多 Java 爱好者喜欢做的事情。虽然这不是对 JAR 包的商业用法,不过很多人都希望能学以致用,而不仅仅...

    利用 exe4j 将 JAR 包制成免安装 JDK 的 EXE 文件

      将 JAR 包制成能在 Windows 上直接运行的 EXE 文件,是很多 Java 爱好者喜欢做的事情。虽然这不是对 JAR 包的商业用法,不过很多人都希望能学以致用,而不仅仅是为了自己的职业生涯。有鉴于此,本文给出了将 JAR 包制成 EXE 文件的方法。为了避免降低使用该 EXE 文件的门槛,EXE 文件在运行前最好还能免安装 JDK,本文也给出了相应的方法。不过即便如此,在具体使用之前,也有需要了解的事项。笔者在编写这个教程之前,几乎踩遍了所有常见的坑。如果读者不想重蹈覆辙,还是仔细阅读本文。

    笔者的运行环境:

    • JDK 11.0.12

    • exe4j 6.0.1

    • Windows 10 教育版

    exe4j 的工作原理

      exe4j 这个软件其实很傻瓜,很多人能可以自行制成 EXE,不过他们不清楚如何让这个 EXE 脱离本电脑的 JDK。实际上,exe4j 这个软件所做的工作只是封装 JAR 包并让此 JAR 包链接 JRE。也就是说,此软件并不能免除使用 JRE,并不能将 JDK 也一同封装到 EXE 中,但是它可以指定 EXE 读取 JRE 的方法。一般来说,如果没有在 exe4j 中进行这种指定,则生成的 EXE 将根据本 Windows 操作系统中关于 Java 的环境变量来寻找 JRE。如果进行了这种指定,则生成的 EXE 将根据指定的相对路径来寻找 JRE。也就是说,使用此软件能够完成的是,使一个 Java 程序,原来需要通过 JAR 包才能运行,现在变成只需要一个文件夹中 EXE 文件与 JRE 文件即可运行。此结果看起来不是完全令人满意,但也基本满足广大使用者的要求。

      如果读者想将 JDK 也一同封装到 EXE 中,可以使用在本教程使用的 exe4j 的基础上使用另一款软件:Inno SetupInno Setup 有两项功能:

    1. 当程序的所有文件封装成一个 EXE 文件。
    2. 生成的 EXE 文件同时是一种含软件安装引导界面的安装包。

    但是,Inno Setup 只对本来就可以运行的 EXE 有效。因此需要先使用在本教程的方法生成 EXE,然后再使用 Inno Setup 制作软件安装包。

    EXE 制作教程

      下面开始真正的教程。

    1. 需要一个可以在 CMD 中单独运行的 JAR 包。在 CMD 中运行 JAR 包的方法是,使用命令:java -jar xxx.jar

      • 为了减少不必要的踩坑,建议不要使用多 JAR 依赖。如果读者手上有关于 Java 程序的多个依赖 JAR 包,建议将其合成一个 JAR 包。合成的方法有很多,可以借助 Java 的操作系统命令,也可以使用构建工具,如 Maven。

    2. 在安装 exe4j 前,需要先安装 JDK。在笔者编写本教程的时候,exe4j 最高只支持 Java 11。因此如果读者安装的 Java 版本高于 exe4j 的要求,exe4j 的安装将不会成功。

    3. 前面已经讲到,EXE 的运行需要 JRE。如果希望生成的 EXE 能在其它计算机中运行,则需要另行准备 JRE。另外,Java 11 及以上的版本的安装目录中都没有直接的 JRE。对于这种问题,可以从下面的方法中选择其中一种:

      • 将 JDK 当成 JRE 来使用,此时,JDK 目录就是 JRE 的目录。之所以这样可行,是因为 JRE 已经被包含在 JDK 中了,不过缺点是 JDK 目录所占空间很大,笔者可以衡量其中的利弊。

      • 上面的方法会引入多余的依赖,造成软件所占空间过于庞大。可以自行记录自己的项目与依赖的 JDK,然后使用如下命令生成依赖:

        jlink --strip-debug --compress 1 --no-header-files --no-man-pages --output miniJre --add-modules java.base,java.logging,java.naming,java.xml,jdk.sctp,jdk.unsupported,java.desktop
        
      • 生成 JRE 目录。JRE 目录所占大小一般是小于 JDK 目录的,不过这种方法有很多弊端,生成的 JRE 目录如果不是完整的,可能导致如下报错:

        java.lang.NoClassDefFoundError: java/util/logging/LogRecord at org.apache.commons.logging.LogAdapter$JavaUtilAdapter.createLog

        生成 JRE 目录的方法有很多,对于 Java 11,只需要在 Java 的安装目录的目录 bin(如:C:\Program Files\Java\jdk-11.0.12\bin)下输入命令:(如果 CMD 控制台没有管理员权限,需要先获取管理员权限)

        jlink.exe --module-path jmods --add-modules java.desktop --output jre

        此时会生成一个 JRE 目录。完整的 JRE 目录下应该含有目录 bin 等。需要将此 JRE 目录移动至其它地方保存,不要放在 Java 目录下污染环境。exe4j 在安装时会扫描 Java 的目录,此过程生成的 JRE 目录会对 exe4j 形成干扰,导致其安装失败。

    4. 下载 exe4j。网址:https://exe4j.apponic.com/

    5. 安装 exe4j 的过程很简单,这里从略。不过要注意,安装 exe4j 之前要下载合适的 JDK。如果安装的 JDK 版本过低或过高,则 exe4j 将无法启动。

    6. 准备好以下的文件:

      • 本项目的 JAR 包
      • JRE 文件夹。如果把 JDK 目录当成 JRE 目录,则需要拷贝整个 Java 安装目录(如:C:\Program Files\Java\jdk-11.0.12)。Java 的安装目录下一般有目录 bin 等。
      • EXE 图标文件(此文件在制作完 EXE 之后就可以删除,不过建设保留备用)

      【注意】

      • 如果不打算在本教程之后制作含安装引导界面的 EXE 安装包,则只需要将上述的这些文件放入同一个文件夹中。这样做的话,就可以清楚地区分软件的核心程序与通用的 JRE。
      • 如果打算在本教程之后制作 含安装引导界面的 EXE 安装包,则需要将 本项目的 JAR 包 放入 JRE 文件夹。实际上,建议将所有的除 JRE 的文件全放入 JRE 文件夹`中。

    7. 打开 exe4j,填写密钥。笔者已经事先有了密钥,并保存在了本地文件夹。输入密钥之后就可以使用该软件的后续功能了。

      (笔者很愿意就在这里提供密钥,但由于版权的问题,读者需要在网上自行获取。如果实在找不到,也可在下方留言联系。笔者在看到这些消息之后将免费提供,希望各位收到后不要自由传播。)

      在这里插入图片描述

      在这里插入图片描述

    8. 选择将 JAR 包制成 EXE 模式。


      在这里插入图片描述

    9. 设置应用名与 EXE 的存放地址等信息。注意:请记住此 EXE 输出地址,此地址将成为基地址。后面的 JRE 目录等的地址,如果使用的是相对路径,将使用该地址作为基地址。


      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

    10. 此处很关键,关系到生成的 EXE 能不能脱离本操作系统。

      • 如果需要生成的 EXE 在其它计算机上可运行,则此处可以直接点击 Next。此时,生成的 EXE 会根据本操作系统的环境变量来寻找 JRE。如果以后更改了相应的环境变量,则此 EXE 文件那时可能会运行失败。

        在这里插入图片描述

      • 如果希望生成的 EXE 能在其它计算机中运行,则需要进行如下操作。

        在这里插入图片描述
        在这里插入图片描述


        【踩坑提醒】

        • 如果希望生成的 EXE 支持自由复制,则此处的路径要使用相对路径。这就是前面为什么要将相关文件放一起。

    11. 按下图所示操作即可。


      在这里插入图片描述


      在这里插入图片描述

    12. 如果点击上面的按钮,应用可以顺序运行,说明前面的操作都已完整按笔者所指示的进行。此时,前面设置的 EXE 输出目录应该有了相应的 EXE 文件。

      • 如果读者前面没有选择自定义 JRE 目录,则此 EXE 输出目录下的除 EXE 文件都可以删去。

      • 如果读者前面选择的是自定义 JRE 目录,则只需保留的是 EXE 文件以及文件夹 JRE,且文件夹 JRE 与 EXE 文件的相对位置不能移动(也就是说,需要且只需要将文件夹 JRE 与 EXE 文件放在同一个文件夹下即可)。除此之外,此 EXE 输出目录下的其它文件均可删去。

    13. 最后,建议运行此 EXE 来检验一下本次生成 EXE 是否成功。

    14. 之后,如果想制作 含安装引导界面的 EXE 安装包,可以使用另一款软件:Inno Setup

    展开全文
  • 评论#re: 使用exe4j打包jar生成exe常用设置2008-02-19 15:28lindabang兄弟能教我怎样做jar文件吗?谢谢!lindabang@163.com回复更多评论#re: 使用exe4j打包jar生成exe常用设置2008-02-24 14:45y6cn@lindabang其实...

    评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-02-19 15:28

    lindabang

    兄弟能教我怎样做jar文件吗?

    谢谢!

    lindabang@163.com  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-02-24 14:45

    y6cn

    @lindabang

    其实eclipse里就有导出为jar文件这一个功能。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-03-17 16:27

    jardan

    哥们,如果项目中用到其他JAR包怎么加入?

    我用advanced option加入到native lib也不行呢。怎么拾掇?  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-03-17 17:44

    y6cn

    你把这些jar包放在jdk/jre的lib/ext里就行了  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-04-03 11:38

    luawkk@hotmail.com

    我的总是出现 An internal error occurred (error code : 16) 这个对话框 是那里设置的不正确啊,谢谢 各位弟兄们了!  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-04-11 09:04

    y6cn

    会不会是你程序的错误  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-04-13 12:33

    lkp

    用了一下,不过老是报错,如下

    java.lang.NumberFormatException: null

    at java.lang.Integer.parseInt(Unknown Source)

    at java.lang.Integer.parseInt(Unknown Source)

    at assistant.Setting.getBackGrounMucisProerties(Setting.java:35)

    at com.lkp.ellk.Ellk.setProperties(Ellk.java:76)

    at com.lkp.ellk.Ellk.(Ellk.java:58)

    at com.lkp.ellk.Ellk.main(Ellk.java:259)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    不知道该怎么改了

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-04-15 21:13

    y6cn

    at assistant.Setting.getBackGrounMucisProerties(Setting.java:35)

    at com.lkp.ellk.Ellk.setProperties(Ellk.java:76)

    at com.lkp.ellk.Ellk.(Ellk.java:58)

    at com.lkp.ellk.Ellk.main(Ellk.java:259)   回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-05-16 14:59

    yangzhongkun

    我选的是控制台输出,但在图片处就总是出错

    Compilation failed.Reason; java.io.IOException; icon file does not contain icon data

    请问这是什么错误啊,图片格式是.ico 的啊。。。

    郁闷。。。。。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[未登录]

    2008-05-16 23:46

    y6cn

    你的ico图片要用专门的图标制作工具生成。你看错误提示说icon文件没有包含icon格式数据,你再检查一下,看看路径什么的有没有错误。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2008-05-25 14:37

    白龙

    大哥,我用了一下是部署一个SWT程序,程序没有问题.但是用exe4j按照步骤出来的老是这个异常是什么意思啊:,该怎么解决啊?

    java.lang.UnsupportedClassVersionError: swt/swtapp (Unsupported major.minor version 49.0)

    at java.lang.ClassLoader.defineClass0(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:537)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[未登录]

    2008-05-25 19:04

    y6cn

    UnsupportedClassVersion貌似你用的什么东东的版本不支持哦,然后它无法加载,后边的程序用到了但是找不到URL位置,这样在你打包后exe4j引擎执行时不知道从何入手,你还是再检查一下,有没有用外部包,有没有用awt组件什么的,如果用的有外部包的话最好不要忘了把它的dll文件也处理好。java运行环境配置不好也会出错的。

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2008-05-26 10:43

    白龙

    @y6cn大哥,我就是用的那个ECLIPSE的一个插件做的SWT/JFACE叫做SWT designer.有个CSDN的朋友用exe4j部署的应用程序,我是用eclipse打包的,什么叫做外部包?我把那些我用到的JAR都打包进去了.而且那个朋友说用的regular mode反正我两个都用过,都不行.都是这个错.会不会打包JAR就有问题啊?ECLIPSE的打包出来的程序我自己用批处理写的能运行的.用EXE4J不行.而且没有各程序都是这个错.JDK的运行环境我配置了的,path和classpath都配了.大哥在帮我分析一下看有什么问题.我急救.谢谢了  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2008-05-26 11:50

    y6cn

    如果说你在eclipse里能正常运行的话,那么用exe4j是不该有问题的,如果有问题,最可能出错的地方是:一、导出jar出错;二、运行环境配置出错。你先看一下我的这篇文章:http://www.blogjava.net/y6cn/archive/2008/05/18/201221.html,查看一下打包后的jar文件里class文件少不少,先把jar做好再说。“jar in exe”模式是在有了jar文件后用的,EXE4J在这种模式下把jar文件包含进了exe文件。

    另外你写到:“ECLIPSE的打包出来的程序我自己用批处理写的能运行的.用EXE4J不行.”,从这句话判断可能会是运行环境没配置好。你用exe4j打包时先不要打包jre,把这个设为你机器上安装的jre环境,再试一下看能不能运行,如果能运行说明你的jre打包有问题,不能是你的程序有问题。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2008-06-20 17:35

    Jwh

    请问博主 我做的exe文件 到无java环境的电脑双击不能运行。

    该怎么解决呢??  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2008-06-20 17:42

    y6cn

    估计你在将jdk打包进exe时出错了,按着我上边的步骤来应该没问题的。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2008-07-14 23:42

    何敏··

    非常详细··谢谢1·  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-02-04 16:30

    回复 不行啊

    报的错是

    java.lang.ClassNotFoundException: D:.yxmtest.WEB-INF.classes.com.xj.yxm.test.SwingTest

    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-02-08 10:38

    y6cn

    @杨

    估计还是你的jar文件有问题,程序在执行jar文件时找不到一些类文件,用rar打开你的jar看一下,里边生成的类是不是全的。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2009-03-04 13:36

    白羽

    为什么我的最后一步,执行快完了 提示Compilation failed.Reason; java.io.IOException;d:\java\xxx.jar“系统找不到指定的路径”

    我就是放在这里的啊  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-03-04 19:20

    y6cn

    @白羽

    你的jar应该正确生成,不然在合成exe时是不会通过的  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-05-06 19:49

    javaLover

    如何设置相对途径图片的显示啊,logo啊  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-05-07 12:40

    y6cn

    @javaLover

    你把它们都放在项目根目录下就行了  回复  更多评论

    # 生成成功了啊!

    2009-07-10 20:00

    shk

    我用了一下,不错,一次性生成成功了,非常感谢啊!如果能把执行生成的exe文件时第一步的提示去掉就更加好了,也就是只要双击一下就可执行,而不用双击之后再按一下Enter键才可以。  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2009-07-30 14:15

    Leo

    为什么我按照上面说的 什么也没报错就是点击exe文件 什么东西都不出来啊 是怎么回事啊 想问下 web应用可以这样弄吗 比如说在这 mian Class 这一步时 我web程序根本就没有 mian 方法啊 首页是就jsp页面。 请高人赐教  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2009-07-30 19:28

    y6cn

    @Leo

    还是那句话,先确认你的jar包导出是否正确,如果jar包正确按照上边的步骤应该是没问题的.至于web方面的应用应该是不行的吧,这个软件是打包桌面应用的.  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2010-12-29 21:22

    jar成功,exe出错

    我的jar可以正常运行,但是使用exe4J生成exe就报错,

    java.lang.NoClassDefFoundError: org/apache/mina/core/service/IoHandlerAdapter

    at java.lang.Class.getDeclaredMethods0(Native Method)

    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)

    at java.lang.Class.getDeclaredMethod(Unknown Source)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    Caused by: java.lang.ClassNotFoundException: org.apache.mina.core.service.IoHandlerAdapter

    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)

    ... 5 more

    这就怎么回事?  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2011-01-01 15:51

    y6cn

    @jar成功,exe出错

    应该是少jar包了  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2012-08-19 17:36

    拿个板砖

    @y6cn

    老大,我的程序部分用exe4j有jar转化为exe后可以运行但是一些复杂一点的jar形式可以在本机上运行,但是转化完成后却总提示错误:

    java.lang.ClassNotFoundException: ??

    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2013-04-02 23:40

    范明

    compilation failed.reason: java.ioexception:icon file does not contain icon data  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2013-04-02 23:43

    范明

    compilation failed.reason: java.ioexception:icon file does not contain icon data

    java.lang.ClassNotFoundException: ?í????1

    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

    at com.exe4j.runtime.WinLauncher.main(Unknown Source)

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2013-09-20 21:59

    潘洪飞

    请问我在XP系统下打包的exe文件,选择了64位的打包程序,但是打包完成之后在64系统下就不能用报映像文件有效,但不适用于此计算机  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置

    2013-12-26 09:49

    test-java

    @范明 您好!请问下您是怎么解决使用exe4j打包jar生成exe时的这个问题:

    compilation failed.reason: java.ioexception:icon file does not contain icon data  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2013-12-30 01:36

    y6cn

    从错误提示来看你的icon图片文件有问题@test-java

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新][未登录]

    2013-12-30 01:40

    y6cn

    java.lang.ClassNotFoundException 类未找到,检查一下是不是有些依赖包没有添加@拿个板砖  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2013-12-30 09:18

    test-java

    @y6cn

    非常感谢,ICO图片的问题,之前下载的ICO图片是个错误的,后来用PS自己做了一个就可以了 好高心

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-01-12 16:18

    翼无忧

    请问楼主,怎样使生成的exe程序也使用utf-8编码而不是电脑默认的编码格式?  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-01-15 01:08

    y6cn

    @翼无忧

    目前还没遇到你说的这种情况,如果出现编码问题我觉得还是在程序里处理比较好  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-03-19 17:54

    hzc

    请教下,运行打包后的exe文件,下拉列表里有些字不能输入(徐、液等字),有碰到这情况么~  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-03-20 13:51

    cjp

    我把JDBC驱动包加到JDK下JRE下ext下了 但是还是无法访问JDBC驱动包  回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-03-23 17:47

    y6cn

    没遇到过呢@hzc

    回复  更多评论

    # re: 使用exe4j打包jar生成exe常用设置[08-5-25更新]

    2014-03-23 17:51

    y6cn

    不需要加到JDK下呀,你把外部引入的包放在一个目录下,在打包时在第5步“Java invocation”里全部添加到Class path里就行了.我对第5步的描述又做修改,你可以再看一下上面的文章@cjp

    回复  更多评论

    展开全文
  • Export 生成.class文件,然后再用 exe4j 打包工具选择刚导出的 .class 文件但发现用户总会把装到他机器上的java环境删掉,客户端总用不成。所以要求把jdk也打包到客户端程序里。虽然文件比较大,但是可以在没有装载...

    用myEclipse -> Export 生成.class文件,然后再用 exe4j 打包工具选择刚导出的 .class 文件

    但发现用户总会把装到他机器上的java环境删掉,客户端总用不成。所以要求把jdk也打包到客户端程序里。虽然文件比较大,但是可以在没有装载jdk的环境下运行。以下两个截图是我在没有java环境的机子上测试的将jdk打包到客户端中可以使用。

    图一 没有打包jdk

    0_12744223792K2k.gif

    图二 没有打包jdk

    0_1274422382VaAy.gif

    本文首先默认你已经拥有可用的jar文件和exe4j程序。

    下面开始详述步骤:

    1.welcome-打开exe4j

    0_1274422383kU2q.gif

    如图,如果你有保存过的项目打包配置文件,那么点>>open打开即可。如果没有点>>next.

    2.Project type-选择打包方式

    0_127442238390sV.gif

    由于我们讲的是打包jar生成exe,所以选“jar in exe”mode,这种方式可以把一个java应用程序打包成一个exe文件,但是不能将除jar以外的附加文件打包进去。然后>>next

    3. Application info-配置生成的应用程序的信息

    0_1274422383weHH.gif

    设置你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next.

    4.Executable info -配置可执行文件的参数

    0_1274422384mbK4.gif

    type项根据你的程序的类型确定,本例为GUI程序;接下来是文件名、可执行文件的图标、是否只允许同时刻只能运行一个应用程序、当主线程有误时

    是否抛出异常、更改工作目录(相对于可执行文件)。然后点>>advanced options>>version info

    5.version info-设置版本信息

    0_12744223844NZ9.gif

    6.java invocation-配置运行环境

    0_1274422385MsY2.gif

    先配置class path,将此项内原有的配置全部删除,然后点“+”找到你生成的jar文件,

    0_1274422386vyDi.gif

    然后在上边的general中点浏览按钮,exe4j会自动找到你应用程序的入口-main class。

    在下边的advanced

    options中选native

    libraries设置,此功能是添加你程序用到的外部jar包文件,这个我一直没用过,因为我做什么事都喜欢集中,所以在程序中用到的所有外部包全整合

    到jdk/jre里了,这样在给客户安装程序时只要把程序直接给他考过去就可以用了,不用再安装其它东西,他们会很喜欢的哦,毕竟用户不是搞程序设计的

    嘛。

    7.jre-配置jre

    0_1274422386yg72.gif

    在这里配置你的jre版本类型,然后再看>>advanced option>>search sequence

    0_1274422387CXCD.gif

    在这里来配置你运行程序所需的jre/jdk的位置,如果你只是打包后本机运行,直接指定到你本机的jre/jdk目录即可,如果你打包后的程序要

    在别的客户机上运行,而该机又没装jdk,这时我们就要想另一种方法了。从客户的角度讲,拿到手的软件在安装过程中应尽可能少的给客户带来繁琐的安装事

    项,最好只点一下鼠标就能自动安装。因此,我们要让用户省去安装jdk的麻烦。要解决这个问题,我们可以把安装好的jdk复本放置在最终产品的根目录下,

    然后在上图中添加这个jdk复本为程序的运行环境

    0_1274422387ILTt.gif

    search registty 可以扫描已经安装的jdk/jre,我们选择directory,为程序指定一个jdk目录,只需定位到jdk根目录即可,如上图。 然后>>next

    这里要说明一点,用eclipse开发的程序只要一个jre就行了,jdk不用的,所以我是把jre打包进exe运行环境的,这样的话在java version下边的那个允许使用jre beta版的选项就要选中了。

    8.preferred vm-选择虚拟机

    0_12744223871Z31.gif

    这个根据具体情况选择,本例为client. 然后>>next

    9.splash screen -预载窗体

    0_1274422388OiTO.gif

    在这里可以设置你的预载窗体界面,不过好像只认gif类型的图片,status line and version line

    可以在position text lines

    visually预览界面中调整其显示位置。然后>>next,接下来是选择语言界面,根据自己情况选择。然后>>next

    10.compile executable-编译生成可执行文件

    0_1274422388gi2Q.gif

    自动跳转至:

    0_1274422389n6mK.gif

    在这里可以点击运行生成的可执行文件,也可以将本次配置方案保存起来以备后用

    展开全文
  • exe4j

    2021-06-09 14:50:14
    exe4j 问题一: 解决方法,jre,jar均设置相对路径,在最初路径选择时,将所有文件都反正一个文件夹,并选择此文件夹。

    exe4j
    问题类型

    1. List item

    解决方法,jre,jar均设置相对路径,在最初路径选择时,将所有文件都反正一个文件夹,并选择此文件夹。
    在这里插入图片描述在这里插入图片描述

    展开全文
  • exe4j打包工具使用

    2021-07-02 11:53:18
    前言:用于将eclipse中的项目打包成.exe形式。 eclipse中的项目打包成jar形式:eclipse项目右键–>...exe4j的使用: 如果“Main class”中找不到主类,可能文件被加密了,解密后可以继续。 剩下
  • exe4j安装全过程

    2021-08-06 11:13:42
    官方网址:https://www.ej-technologies.com/download/exe4j/files 1.安装: 随便安装 2.用户名和公司名可随便填 3.填写注册码随便选一个 4.就可以开始使用了 A-XVK258563F-1p4lv7mg7sav A-XVK209982F-1y0i3h4ywx2h...
  • exe4j打包springboot项目大坑 然后在main class 选择:org.springframework.boot.loader.JarLauncher类启动,按道理来说应该选择自己的启动类的,但是打包不行,选择这个才能正常
  • 一、exe4j介绍 ​ exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。如果你想在任务管理器中及Windows XP...
  • exe4j 打包方法: Java 技术篇-利用 exe4j 工具生成 exe 文件实例演示,IntelliJ IDEA 将项目转化为 jar 包方法,运行生成后的程序弹出 exe4j 提示处理,生成的程序显示控制台设置方法 中文乱码问题解决方法: 配置 ...
  • 第一步 下载exe4j 可以直接去官网下载 第二步 先填写注册信息,如果没有注册,那么最后生成的exe文件会报错 我把密匙粘贴过来 可以通用L-g782dn2d-1f1yqxx1rv1sqd 第三步
  • exe4j打包】: 首先看下项目文件夹里的内容: config是放配置文件的(项目需求) file是缓存文件夹,用来暂时存放上传之前的excel文件(项目需求) jdk(打包必需) lib文件夹,放项目用到的jar包(打包必需) ...
  • 1.下载好exe4j 2.新建一个文件夹,我的叫jre,里面放项目启动需要的文件,根据自己的情况,我的是我项目要用的; 3.将java安装路径下的jre复制到该文件夹下; 4.将项目的jar包复制到该文件夹下; 5.双击下载的exe4j...
  • 一、下载exe4j mac 版本 二、操作 三、问题记录 注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
  • 首先下载一个exe4j.exe,官网下载地址为https://exe4j.apponic.com/; 1.安装完后进入软件的欢迎页,直接点击下一步。 2.
  • exe4J打包springboot项目exe找不到入口类 原来选择最后的,还有自己手写从com开始的都不行-
  • 一、介绍exe4j是一个很棒的工具,可以把jar包打包成exe进行运行。他可以把jre环境和打包的exe进行集成,使得打包后的exe应用程序可以在没有安装java的机器上运行(前提是要把exe和jre一起捆绑)。二、问题及解决方法...
  • 选中添加文件夹,这里需要新建一个文件夹(下图中的jreFile),然后将jre文件夹放到刚刚新建的文件夹下,如下图 最后选择添加刚刚新建的文件夹(jreFile),最后的结果如下图 遇到过的问题 1、在执行exe4j安装的时候...
  • 问题应该在第4步 这个Executable type改成Console application然后再生成就可以了!
  • Please define EXE4J_JAVA_HOME 非常的崩溃, 看了网上很多大神的一些处理方法,比如说修改环境变量,保证javac和java之间版本一致,添加exe4j的java_home,还有在打包的时候添加jre,统统不行。经过多次尝试,我...
  • exe4j实现java程序变成exe可执行文件(带图也可实现) 首先我们需要用eclipse将自己写好的java源代码打包成jar形式,具体步骤如下: 1、鼠标右键java项目,选择Export 2、选择Runnable JAR file,点击Next下一步 ...
  • 先上图: exe4j打包后的java程序,运行后不显示图片 解决办法为: 将资源文件夹复制到 .exe 文件同目录的位置就可以了
  • 关于IntelliJ IDEA 导出程序jar包和使用exe4j打包成exe可执行文件。 exe4j官方下载地址:添加链接描述 1.IntelliJ IDEA 导出jar包 step1:点击File->Project Structure step2:点击Artifacts->jar->From ...
  • MyEclipse编写的GUI程序,使用exe4j打包jar为exe后运行,发现界面变大模糊。 原因:dpi显示设置导致的,右键桌面-显示设置,“缩放与布局”下的“更改文本应用等项目的大小”从【125%】改选【100%】,便不存在该问题...
  • 一、文件准备、 二、exe4j 下载、 三、exe4j 安装、 四、使用 exe4j 生成 jre + jar 可执行文件、 五、博客资源、
  • 使用exe4j将jar包打包成可执行exe程序后,如果exe4j配置不当,会在exe当前目录下产生error.log和output.log文件,随着运行时间的增加,这两个文件会变得非常大,当计算机内存比较小的时候,这样的日志文件会占用...
  • 【下一步】选择【“JAR in EXE” mode】 【下一步】分别填写“应用名”和“打包输出路径” Ps:“打包输出路径”需要提前创建好文件夹! 【下一步】填写“名称”后,【高级选项】【32-bit or 64-bit】 ...
  • exe4j下载 提取码:csj6 首先找到自己电脑里安装jdk和jre的根目录路径 找不到的win+r启动cmd控制台输入以下代码 java -verbose 找到路径 新建文件夹,将jdk和jre文件夹放进去(如上面第一个图) 打开下载好的exe...
  • 现在的计算机都是64位jdk也是64位的居多,我以windos10 64位操作系统 jdk1.8 64位jre演示 注意重要操作 如果你真的是64位请按下图操作
  • exe4j下载地址

    2021-06-22 17:10:12
    https://exe4j.apponic.com/download/ JAVA是一种“跨平台”的语言,拥有“一次编写,处处运行”的特点,让它成为当今IT行业,必不可少的一门编程语言。 每一个软件开发完成之后,应该大家都需要打包程序并发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,683
精华内容 39,473
关键字:

exe4j