exe4j完成Java转exe 自带jre

当用户电脑上没有安装Java环境时,我(们)交付程序时,还需要提交一份jre

exe4j支持选择自带的jre;但是好像不支持选择精简的jre,会导致生成的exe不能正常运行

知道怎样用精简jre转exe的朋友请留言…orz,我之前提到了怎样精简jre,结果拿来用exe4j生成的exe运行出现错误,尚未解决


整个过程很简单,很容易掌握。

1.首先下载exe4j

2.准备好程序导出的jar包,第三方jar包(我这里用到了),一份jre(我这里也用到了)

带有第三方jar包程序的导出方式参考:java程序打包成jar文件,使用到第三方jar包

将三者放在同目录下,configure文件可忽略,不需要jre的可以不加(后面过程是类似的)

目录情况

                                                    图1 将三者放在同一个目录

3.启动exe4j准备转换

跳过welcome,来到第二步,选择regular或者jar in exe。

  • regular模式指的是,生成的exe内不包含用到的jar包,二者是分开放的;
  • jar in exe指的是会将所有jar包(导出的jar以及用到的第三方jar)装进exe中,最后只用保留这个exe文件。

就是分开放置和包装放置的区别。

选择general或者jar in exe

                                                                  图2 两种模式任选一种

如果选第一种,点击next,为程序起一个名字,source directory选图1的目录,executable directory所选的目录一般相同。

选择jar in exe,点击next的设置与此类似,设置名称,选择exe输出路径。

                                                             图3 regular mode相关设置

后面的内容是一样的。点击next进入第4项设置,我的是Java GUI程序->为程序起名->我希望程序只有一个实例运行,所以勾选了“allow only a single...”->然后选“32-bit or 64-bit”。

配置Executable info

                                                          图4 Executable info

如果想要生成64位,则勾选。这点考虑使用程序的平台,32位平台只能运行32位的程序,64位平台上32位和64位程序皆可运行。并且jre的位数,要与程序位数等等一直。例如32位程序,需要32位jre;64位程序,则需要64位jre。

选择生成64bit或32bit程序

                                                             图5 64bit or 32 bit

next到第5项,Java invocation(Java调用):点击右侧绿色加号,将程序导出的jar包,及用到的第三方jar添加进去;然后选择主类,即程序运行入口所在类。

Java invocation设置classpath及main class

                                                            图6 Java invocation

next后来到第6项 JRE,minimum version必须填,可以随便设(不太清楚,就设了1.4),然后选择“Search sequence”(环境搜索顺序)。

                                                              图7 JRE设置

我是需要选自带的JRE的,所以点击绿色加号,将图1中的jre添加进来。已有的三项可以删除,我只保留了添加的JRE。按照实际的需求选择添加或保留。

JRE search sequence

edit “search sequence”

                                                        图9 编辑search sequence

接下来一路next到最后了,到第10步 Finished 时,点击“click here to...”可以尝试运行。

                                                              图10 试运行

注意,如果选择生成32位程序(见图5,未勾选),则需要32位jre环境。为展示,这时我没有添加32位jre,程序按照search sequence查找环境,我的电脑中JAVA_HOME环境变量指向的是64位jre。出现下列错误提示:JAVA_HOME环境变量指向的不是32位JDK或JRE。


文章写的可能有些繁琐,但的确是把我知道的步骤都写了。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值