写在前面
本文介绍了如何将一个可运行的jar
打包成正常的exe
,像正常程序一样安装使用,不需要安装或配置java
运行环境,与系统的java
环境隔离。
一、准备工作
前提准备:
exe4j、
Inno Setup Compiler、
jdk11、
可运行的jar
1、将可运行的jar
与jdk11
的解压缩包放在同一个目录
2、将目录中的jdk11
改名为jre
,就像这样
二、将jar打包成exe
1、安装并启动exe4j程序
2、直接跳到第二步,选择
3、指定基本的文件信息
4、指定exe
的信息
5、点击Executable info>>32-bit or 64-bit
,设置运行版本,这里默认都是64bit
了
6.1、增加jar
6.2、选择要增加的jar
7、指定可运行的mian class
8、指定运行的jdk版本
9、删除默认环境变量
10、指定jre目录
11、指定完成
12、指定vm模式
13、一路点下一步,当看到下面这个页面的时候,已经在你前面指定的目录生成了exe文件
了
注意:
- 使用没有激活的
exe4j
打包完成的exe
启动时会出现一个弹窗。 - 这个
exe
它没有包含jre
,只是把jar
包封装了一下。要想让别人使用,还要把jre
发给别人,并且保持相对路径不能变。比较麻烦,下面使用inno setup
在封装一下,把jre
和exe
文件封装到一起。
二、将exe打包成Install包
1、安装并打开inno setup
2、点击新建,出现下面的弹窗,点击下一步
3、设置打包的exe
基本信息
Application name:程序名
Application version:版本号
Application publisher:发布人
Application websit:网址
4、设置程序文件夹,直接用默认的就行,点击下一步
5、设置打包源文件
的位置,以及要运行的环境
(添加之前的jre
文件夹)
6、选择安装的方式
,我这里选择为当前用户安装
,并且在安装的时候可选安装方式
7、设置打包后的文件输出的位置
,这个程序icon图标
和安装密码
可以不设置
8、会出现下面一个脚本化的东西,有日志在输出,等待输出完成。
9、完成后生成2个东西,一个是robot.iss
脚本文件,一个是robot.exe
,这个exe
现在是安装版
的,需要安装到电脑上才能运行。
注意:到这里运行新生成的robot.exe
安装后也是不能运行的,会报java运行环境
找不到,需要修改下robot.iss
文件脚本的一行代码。
10、用inno setup
打开robot.iss
脚本文件,找到[files]
下的第二个source
,将DestDir:"{app}"
改为DestDir:"{app}/jre"
(通过第8步的图与当前第10步的图对比也可以看出来)
11、修改完之后点击左侧上方的保存按钮,然点击运行按钮,运行一下,生成新的robot.exe
即可安装运行。这个安装包大概169m
左右。
注意:
为了保证程序源代码安全,可以使用ISCrypt.dll
作为inno setup
的加密项(默认是不带的,它的获取和使用说明,见官网描述),我已经看到如何在exe4j
输出的exe
文件中抽取源代码的案例了。
评论区