使用idea将项目打包成jar包 下载exe4j Wizard并运行,选择项目类型为jar 配置应用名称以及输出的路径文件夹 配置服务名及图标文件 配置输出日志,可以自定义名称 配置服务描述,服务自动启动或手动启动 配置为64位系统程序 配置Java调用,将刚刚打包的jar导入 配置jre版本,导入jre文件 点击finish,jar包转exe成功 下载innoSetup编译器并打开,新建脚本 配置应用程序信息 配置程序输出文件夹名称 将exe4j生成的exe文件作为主执行文件,同时添加其他所需文件 配置应用程序快捷方式 可配置安装时要显示的文档文件 配置安装模式为管理员安装模式 根据需要选择安装语言 选择安装包输出文件夹,文件名,图标,可加入安装密码 使用#define编译指令,可丰富安装界面 完成安装包制作 进入到脚本编辑器,可加入用户自定义功能,比如动态配置数据源,可让用户自定义连接某个数据库,配置代码如下: 运行Java程序时,需要有jre运行时环境,当在一台新机上想运行Java程序时必须得有jre和jdk,这样很不友好,所以在用exe4j转exe时,将jre一起配置进去,在编译安装包制作脚本文件时,需要将jre配置放出来,代码如下: 先宏定义一个变量 在Files里将jre配置放出来 这样,在一台没有配置jdk和jre的机子上,也能运行Java程序安装包了 然后点击编译(生成安装包到输出文件夹,需手动运行安装包)或运行(编译完立即运行安装包)。 安装包运行效果图:
[code] var myPage:TwizardPage;//定义窗口 myPage2:TwizardPage; ed1:TEdit;//数据库IP ed2:TEdit;//数据库名称 ed6:TEdit;//数据库用户名 ed7:TEdit;//数据库用户密码 Lbl1: TNewStaticText;//数据库IP Lbl2:TNewStaticText;//数据库名称 Lbl6:TNewStaticText;//数据库用户名 Lbl7:TNewStaticText;//数据库用户密码 //定义校验方法,校验失败时,下一步按钮为空 procedure Key_Form_KeyChange(Sender: TObject); begin WizardForm.NextButton.Enabled := True; end; //初始化引导 窗口 procedure InitializeWizard(); begin myPage2:=CreateCustomPage(wpWelcome, '自定义数据库设置', '数据库设置'); Lbl1 := TNewStaticText.Create(myPage2); Lbl1.Left := ScaleX(1); Lbl1.Top := ScaleY(5); Lbl1.Width := ScaleX(100); Lbl1.Height := ScaleY(50); Lbl1.Caption := '数据库IP'; Lbl1.Parent := myPage2.Surface; ed1:=TEdit.Create(myPage2); ed1.Width:=ScaleX(100); ed1.Left := ScaleY(10); ed1.Top := ScaleY(25); ed1.Text :='localhost'; ed1.Parent:=myPage2.Surface; //ed1.OnChange := @Key_Form_KeyChange;//添加校验方法 Lbl2 := TNewStaticText.Create(myPage2); Lbl2.Left := ScaleX(10); Lbl2.Top := ScaleY(80); Lbl2.Width := ScaleX(100); Lbl2.Height := ScaleY(50); Lbl2.Caption := '数据库名称'; Lbl2.Parent := myPage2.Surface; ed2:=TEdit.Create(myPage2); ed2.Width:=ScaleX(100); ed2.Left := ScaleY(10); ed2.Top := ScaleY(100); ed2.Text :='YIMADB'; ed2.Parent:=myPage2.Surface; //ed2.OnChange := @Key_Form_KeyChange;//添加校验方法 Lbl6 := TNewStaticText.Create(myPage2); Lbl6.Left := ScaleX(10); Lbl6.Top := ScaleY(155); Lbl6.Width := ScaleX(100); Lbl6.Height := ScaleY(50); Lbl6.Caption := '数据库用户名'; Lbl6.Parent := myPage2.Surface; ed6:=TEdit.Create(myPage2); ed6.Width:=ScaleX(100); ed6.Left := ScaleY(10); ed6.Top := ScaleY(175); ed6.Text :='ymdb'; ed6.Parent:=myPage2.Surface; //ed6.OnChange := @Key_Form_KeyChange;//添加校验方法 Lbl7 := TNewStaticText.Create(myPage2); Lbl7.Left := ScaleX(10); Lbl7.Top := ScaleY(230); Lbl7.Width := ScaleX(100); Lbl7.Height := ScaleY(50); Lbl7.Caption := '数据库用户密码'; Lbl7.Parent := myPage2.Surface; ed7:=TEdit.Create(myPage2); ed7.Width:=ScaleX(100); ed7.Left := ScaleY(10); ed7.Top := ScaleY(250); ed7.Text :='111111'; ed7.Parent:=myPage2.Surface; ed7.OnChange := @Key_Form_KeyChange;//添加校验方法 end; //添加步骤 procedure CurStepChanged(CurStep: TSetupStep); var fileName,tempStr:String; svArray: TArrayOfString; nLines,i:Integer; begin //if CurStep=ssinstall then //安装前执行 if CurStep=ssPostinstall then //复制文件后执行 begin //开始修改文件 fileName := ExpandConstant('{app}application-other.yml'); LoadStringsFromFile(fileName, svArray); nLines := GetArrayLength(svArray);//读取文件 for i := 0 to nLines - 1 do begin tempStr := svArray[i]; //数据库名 if (1 = Pos(' url: jdbc:postgresql://localhost:5432/XXXXXX', tempStr)) then//查找目标行 begin svArray[i] := ExpandConstant(' url: jdbc:postgresql://'+ed1.Text+':5432/'+ed2.Text);//修改行 StringChangeEx(svArray[i], '', '/', True); end; //数据库账号 if (1 = Pos(' username: XXXX', tempStr)) then//查找目标行 begin svArray[i] := ExpandConstant(' username: '+ed6.Text);//修改行 StringChangeEx(svArray[i], '', '/', True); end; //数据库密码 if (1 = Pos(' password: 111111', tempStr)) then//查找目标行 begin svArray[i] := ExpandConstant(' password: '+ed7.Text);//修改行 StringChangeEx(svArray[i], '', '/', True); end; end; SaveStringsToFile(fileName, svArray, false); end; if CurStep=ssDone then //安装完成后执行 end;
#define MyJREName "jre"
[Files] Source: "C:UsersADesktop转exe制作安装包准备文件jre*"; DestDir: "{app}{#MyJREName}"; Flags: ignoreversion recursesubdirs createallsubdirs
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算