Javafx程序开发-如何制作exe程序及制作安装包
1.开发工具
开发用到如下工具,如下表1所示:
表1 开发工具
名称 | 版本 | 说明 |
IDEA | 2021.3.2(Community Edition) | 开发工具 |
JDK | jdk1.8.0_202 | Java JDK环境 |
EXE4J | 5.0.1 | Jar包转Exe工具 |
Inno Setup Compiler | 6.2.2 | 安装包制作工具 |
开发工具IDEA、exe制作工具EXE4j,安装包制作工具Inno Setup Compiler截图如下表2所示:
2. 制作步骤
2.1 加载程序源码
图1为java工程目录浏览窗口,可以看到**Tool这个就是主工程,另一个是**api是api接口工程,是用来和设备通信的客户端Thrift接口,主工程依赖此api接口。
图1 工程目录浏览窗口
2.2 制作构件
Artifact定义了如何将项目打包成可部署JAR(Java Archive)。它指定了项目编译后的输出目录、依赖库的管理方式以及需要包含在打包中的其他文件和资源。通过Artifact,可以将项目打包成一个独立的可执行文件,方便部署应用服务器上。
在IDEA中通过路径File>>Project Structure>>Artifacts打开构件设置界面,如下图2所示:
图2 Artifacts界面
如下截图4所示,点击+》JAR》From modules with dependencies 可以新建构建:
图3 新建构建的路径
弹出Create JAR from Modules对话框,如下图4所示:
图4 Create JAR from Modules对话框
选择Modules为**Tool,如图5Modules选择所示:
图5 Modules选择
选择主程序入口类,如图6**ToolMain类:
图6 Main类选择
构建设置完成效果如下图7,默认构件生成路径即可。
图7构建设置完成效果图
按如下图8步骤构建构件,点击IDEA菜单蓝Build,在下拉菜单中选择Build Artifacts。
图8 构建构件菜单路径
IDEA此时弹出图9所示快捷菜单,点击**Tool:jar》Build开始构建,状态栏会提示构建结果。
图9 Build Artifact快捷菜单
至此,构建构件完毕,可以在输出目录中查看到构件**Tool.jar。
2.3 用exe4j生成EXE文件
exe4j是一款功能强大的Java应用程序打包工具,它允许开发者将Java应用程序转换成Windows操作系统下的原生可执行文件(EXE文件)。通过使用exe4j,用户可以轻松地创建独立的Windows可执行文件,不需要为运行Java应用程序安装Java运行环境。这对于分发Java应用程序非常有帮助,特别是对于不熟悉Java体系的最终用户。
2.3.1配置Application info
如图10所示,
Short name of your application:应用程序的简称,这里填写**Tool。
Output directory:指定生成exe文件的目录,这里选择D:\output\exe4jOut\**Tool。
点击Next按钮。
图10 Configuration application
2.3.2配置 Executable info
如图11所示,
Executable name:生成exe文件的名称
Icon File:生成exe文件的图标,该图标类型只能是ico结尾的图片
点击Next按钮
图11 Configure executable
2.3.3 配置Java invocation
Class path:Jar包路径; Main class:入口类(程序含有main方法的类)。
图12 Configure Java invocation
2.3.4 配置JRE
配置JAVA 运行环境JRE
图13 Configure JRE
完成以上步骤后,最后点击Finished,就完成了转换工作,点击Click here to Start the Application按钮,就可以测试下是否能正常运行了。
图14 exe4j has finished
此时可以在输出目录中查看exe程序**Tool.exe。
2.4生成安装包
Inno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。
界面如下:
图15Inno Setup 界面
这个比较简单,就不一一列出具体步骤了。
上面程序可以保存好配置,下次可以直接打开配置文件就可以运行了,非常方便。比如我这里之前保存过一个配置pstool.iss。脚本内容如下:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "XXXXXXTool2.0"
#define MyAppVersion "2.0"
#define MyAppPublisher "XXXXXX, Inc."
#define MyAppURL "http://en.XXXXXX.com/"
#define MyAppExeName "XXXXXXTool.exe"[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{22B437D4-A788-480B-823F-2A1DFCD1CBC6}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=D:\output\innosetupOut
OutputBaseFilename=PrismtokenToolSetup2.0
Password=wellsun
Compression=lzma
SolidCompression=yes
WizardStyle=modern[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked[Files]
Source: "D:\output\exe4jOut\XXXXXXTool\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\output\exe4jOut\XXXXXXTool\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
点击File加载脚本文件pstool.iss,再点击工具栏的Run按钮就可以打包生成安装包了。如图22所示
感谢观看,希望对您有帮助!