Java 程序打包为exe可执行文件并安装为服务详细教程

  • 无废话,直接开始
  • 本文涉及到的软件下载地址
通过网盘分享的文件:
链接: https://pan.baidu.com/s/1PSlBMt7Qs4t9sM6KTHVN7A?pwd=dtmr 提取码: dtmr 

一、打包成jar

  • 使用maven或gradle打包为jar,此步骤略过

二、环境准备

1、下载并安装Launch4j

  • 本文用的3.50,如下图
    在这里插入图片描述

三、核心过程

1、准备工作

  • 在文件夹建一个工作目录(文件系统创建,不是Launch4j),本文用的目录是D:\temp\jar2exe
  • 将打包好的jar文件复制到工作目录,本文示例已将jar文件重命名为main.jar
    在这里插入图片描述

2、Launch4j操作

2.1 Basic页
  • 在output处填入生成的exe的放置位置
  • 在jar处选择上述main.jar文件
  • 其他的可以不填写:你有空可以自行研究下
    在这里插入图片描述
  • 如下图保存配置
    在这里插入图片描述
  • 保存后工作目录如下
    在这里插入图片描述
2.2 Classpath页
  • 通常SpringBoot 项目是配置好了主类的,不需要配置此步骤
  • 其他项目请如页面根据实际情况填写Main Class
2.3 其他配置
  • Header 处选择Console(本文运行为服务才这样,大多数SpringBoot项目应该是这样的)
    在这里插入图片描述
  • 如果你的服务需要指定环境变量,请在Set env. variables 页面设置
2.4 JRE 页
  • 重要在JRE 处填写本地JDK的位置,如下图
    在这里插入图片描述
2.5 打包
  • 如下图,点击齿轮、保存配置,会自动完成打包,如下图
    在这里插入图片描述

  • 正常情况下工作目录会如下:
    在这里插入图片描述

2.6 运行
  • 你可以点击上图的蓝色运行符号运行,但更推荐在控制台自行启动运行
  • 如下图,启动的是main.exe,一切正常
  • 此时已经可以删除main.jar了
    在这里插入图片描述

3、利用WinSW-net461包装为服务

3.1 准备工作
  • 下载复制WinSW-net461.exe到工作目录
    在这里插入图片描述

  • 将WinSW-net461.exe重命名为SysMainService.exe,即你的服务未来在Windows服务中的命名

  • 新建配置文件SysMainService.xml,与上述重命名的名称应一致,内容如下

<service>
    <!-- 服务的唯一ID,在系统内必须唯一 -->
    <id>SysMainService</id>
    <!-- 在Windows服务管理器中显示的名称 -->
    <name>NB IOT SysMain Application Service</name>
    <!-- 服务的详细描述 -->
    <description>NewBridge IOT MAIN Service Created via https://www.xujian.tech 。</description>

    <!-- 指定要执行的命令,这里指向Launch4j生成的EXE文件 -->
    <executable>main.exe</executable>
    <!-- 如果需要,可以传递命令行参数给您的EXE -->
    <!-- <arguments>your-arguments</arguments> -->

    <!-- 启动模式: Automatic(自动) / Manual(手动) -->
    <startmode>Automatic</startmode>
    <!-- 启动失败时的处理策略 -->
    <onfailure action="restart" delay="10 sec"/>
    <onfailure action="restart" delay="30 sec"/>
    <onfailure action="none" />

    <!-- 日志文件存储目录 -->
    <logpath>logs</logpath>
    <!-- 日志模式,如按大小轮转 -->
    <log mode="roll-by-size">
        <sizeThreshold>10240</sizeThreshold>
        <keepFiles>8</keepFiles>
    </log>
</service>
  • 完成上述目录后工作目录的情况如下:
    在这里插入图片描述
3.2 安装服务
  • 用管理员身份运行cmd
    在这里插入图片描述
  • cd 到工作目录
    在这里插入图片描述
  • 执行install命令
SysMainService.exe install
  • 执行start命令(也可以到服务中执行)
SysMainService.exe start
  • 正常情况如下图

在这里插入图片描述

  • windows服务中的情况如下图:
    在这里插入图片描述

四、验证

1. 查看日志

  • 工作目录的logs文件夹下会打印日志,其中out日志是核心输出
    在这里插入图片描述

2. 浏览器访问

  • 根据你的实际情况访问,SpringBoot的端口通常在application.properties等配置文件中配置
    在这里插入图片描述

五、交流沟通

  • 欢迎添加微信xujian_cq沟通
  • 本人同时提供软件开发和AI工程技术、网络(内网穿透)、企业信息查询等服务
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐