概要简介
如果您想在用户的PC客户端部署简单的springboot微服务,而又不想安装jdk,想做成像直接安装exe应用软件一样,一次性简单安装就直接可以使用。那么本文应该能给您提供一点帮助。
一、IDEA 导出jar包
(1)创建springboot项目时,勾选打包方式为:Jar
(2)springboot项目功能写好之后,双击maven的package直接生成可执行jar包,在项目的target目录下可以找到刚生成的jar包。双击jar包,直接运行,测试是否能正常启动服务,打开浏览器访问服务接口,测试是否能正常访问。
(3)在桌面创建demo文件夹,将刚打包生成的jar包文件(gwhelper-0.0.1-SNAPSHOT.jar)复制到demo文件夹中,重命名为gwhelper.jar。
(4)将本项目使用的jdk17根目录复制到demo文件夹(如果您的项目使用的是jdk8,可以复制相应的jre目录,因为jdk17没有独立的jre目录,所以我们直接复制jdk目录。)如下图所示:
到此生成exe的准备工作就做完了。接下来我们开始将jar转换成exe应用。
二、用exe4j生成exe应用
(1)下载exe4j工具
exe4j下载地址:ej-technologies - Java APM, Java Profiler, Java Installer Builder
激活软件注册码可以访问: https://www.cnblogs.com/jepson6669/p/9211208.html
(2)安装好exe4j工具之后,运行exe4j,按以下图文说明,配置打包参数:
接下来其他步骤没有特别要注意的配置了,直接默认配置就行,接下来直接点左边菜单的第9步或者第10步,直接按照配置信息生成exe应用文件。执行完之后,我们可以打开桌面demo文件夹,就能看到新生成的gwhelper.exe应用文件,直接双击运行。
(3)直接双击运行桌面demo文件夹中刚生成的gwhelper.exe文件,检查是否能正常启动服务,如果出现以下截图,说明服务启动成功。
(4)打开浏览器测试访问微服务接口,检查是否能正常访问接口。如下图所示:
(5)以上测试都成功,说明exe应用已经生成成功,但是是否已经可以脱离jdk直接运行呢?答案是否定的。(有兴趣验证的,可以这么测试一下,首先卸载自己电脑上安装的jdk,同时把demo文件夹中的jdk根目录随便改一下名称,然后再双击执行gwhelper.exe,看能不能正常启动服务。)
三、用Inno Setup生成应用安装包
接下来我们将jdk跟exe文件打包成一个window软件安装包,使得用户可以不用安装jdk,直接一次性安装我们提供的微服务的软件包就能正常运行微服务。
(1)下载InnoSetup 工具软件:Inno Setup Downloads
(2)安装好Inno Setup软件后,直接运行,然后按照以下图文说明,进行配置:
接下来InnoSetup工具将会根据我们前面配置的打包参数编译生成windows软件安装包。编译生成安装包后,会直接提示我们是否直接安装新生成的安装包。到此安装包生成就完成了。以下截图是刚生成的安装包文件。
(3)测试安装过程,和安装成功后,是否不需要安装jdk就可以直接启动服务,并能正常运行服务。测试过程这里就不再展开讲了。
四、作为windows服务在后台运行
当我们的微服务应用安装好之后,每次运行会出现Console界面,如下图所示,有时候确实挺烦人的,所以接下来,我们要把这个应用做成windows服务,让它可以开机自启动,直接在后台运行。
(1)要把这个应用做成windows服务,我们需要下载instsrv+srvany这两个工具。
链接:https://pan.baidu.com/s/18XS5XHU099Ctb_CRRIgTTQ
提取码:okok
(2)下载后,将instsrv.exe
和srvany.exe
拷贝到C:\WINDOWS\SysWOW64
目录下。
(3)以管理员身份运行cmd,执行如下命令,如下图所示:
命令1:cd C:\WINDOWS\SysWOW64
命令2:instsrv gwhelperService C:\WINDOWS\SysWOW64\srvany.exe
(4)配置服务注册表,在cmd输入框直接输入regedit
找到gwhelperService服务所在目录:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\gwhelperService
在gwhelperService服务下,新键>项 Parameters
在Parameters项下面,
新建>字符串值 Application 服务运行的exe应用程序路径
新键>字符串值 AppDirectory 服务运行的exe应用程序所在目录
新增>字符串值 AppParameters 服务运行的程序启动所需要的参数
注册表配置结果如下图所示:
到此将应用作为windows服务运行的配置就已经做完了。
(5)如何启动服务、关闭服务和删除服务呢?
方式一:用管理员身份运行cmd,执行命令如下所示:
方式二:直接打开任务管理器>服务,在这里可以直接启动或者停止或者重启服务。
到此,大功告成!希望我的分享,能给您一点点帮助。