利用Innoset up软件将Java SpringBoot+VUE前后的分离项目打包制作成.exe安装包

SpringBoot+Vue项目打包成.exe安装包教程

一、前言

在开发基于 Java SpringBoot 后端和 Vue 前端的项目时,通常需要将项目部署到服务器上运行。然而,有时为了方便在单机环境下使用,或者为了提供一种更便捷的安装方式,我们需要将整个项目打包成一个 .exe 安装包,用户只需双击安装包即可完成安装并运行项目。Inno Setup 是一款免费且功能强大的安装包制作工具,能够帮助我们实现这一目标。

二、准备工作 

 2.1下载并安装 Inno Setup

  • 官网下载地址:Inno Setup 官网

  • 安装过程简单,按照向导提示操作即可。

   2.2准备项目文件

  • 确保你的 SpringBoot 后端项目可以正常运行,并且已经打包成 .jar 文件。

  • 确保你的 Vue 前端项目已经构建完成,生成了 dist 目录。

  • 如果项目依赖于其他环境(如 MySQL、Redis 等),需要准备好这些环境的安装包或配置文件。

  • 2.3.在桌面创建一个文件夹方便放入所有脚本文件

  • 包括后端jar,JDK,MYSQL,NGINX,Redis,所有文件皆为Windows免安装版本,文章后面直接提供。如下图所示。

  • 三.打包核心 编写安装JDK,JAR,Redis,nginx脚本

  • 3.1安装JDK脚本

  • 在JDK文件夹下创建一个install.bat的文件,编写如下脚本
  • @echo off

    java -version
    if %errorlevel% == 0 (
        echo 检测到已安装 JDK,直接跳过该步骤
        goto END
    ) else (
        echo 无法运行 java,请检查配置。
        echo %errorlevel%
        goto INSTALL
    )

    :INSTALL
    cd
    set current_directory=%CD%
    set JAVA_HOME=%current_directory%\jdk1.8.0_181
    set PATH=%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
    set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

    set "RegV=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

    reg add "%RegV%" /v "JAVA_HOME" /d "%JAVA_HOME%" /f
    reg add "%RegV%" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
    reg add "%RegV%" /v "CLASSPATH" /d "%CLASSPATH%" /f
    ::mshta vbscript:msgbox("Java环境已成功注册!",64,"成功")(window.close)
    echo Java环境已成功注册!

    #-Dfile.encoding=utf-8
    exit

    :END
    exit

  • 3.1.1卸载JDK脚本

  • 还是在jdk文件夹下编写uninstall.bat脚本
  • @echo off

    REM 检查是否已经安装了 Java
    java -version
    if %errorlevel% == 0 (
        REM JDK 已安装,开始卸载
        echo 检测到已安装 JDK,开始卸载...
        echo 进行卸载操作,请稍等...
       
        set current_directory=%CD% 

        REM 删除 Java 安装目录
        rmdir /s /q %current_directory\jdk1.8.0_181%

        REM 删除 Java 相关注册表项
        reg delete "HKLM\SOFTWARE\JavaSoft" /f

        REM 清除 Java 相关环境变量
        setx -m JAVA_HOME ""

        echo JDK 和 JRE 已成功卸载。
        goto END
    ) else (
        REM JDK 未安装,直接退出
        echo 未安装 JDK,无需卸载。
        goto END
    )

    :END
    exit

  • 3.2.2脚本位置截图

  • 3.2 jar服务脚本安装

  • 在jar文件夹下创建install.bat文件编写如下脚本
  • @echo off
    transfer.exe install
    echo loading...
    timeout /t 1 >nul
    net start transfer
  • 注:
  • 此三个文件为固定注册服务所需,不可删除,其中.xml文件可设置服务具体名称(可按需修改)
  • 注:修改后的名称,另外两个文件需保持一致,如XML设置transfer,另外两个文件开头也必须是transfer,否则会注册服务失败,导致后台启动失败
  • 3.2.2jar服务启动脚本

  • 还是在jar文件夹创建start.bat文件,编写java -jar transfer.jar
  • 3.2.3jar 服务停止脚本

  • 创建stop.bat 编写net stop transfer
  • 3.2.4jar 服务卸载脚本

  • 在jar文件夹创建uninstall.bat文件编写如下脚本
  • net stop transfer
    @echo off
    echo uninstalling...
    timeout /t 1 >nul
    transfer.exe uninstall
  • 注:您的后台jar即在此处替换,jar文件名称须与上述截图文件保持一致
  • 3.3Nginx安装脚本

  • 下载免安装Nginx,解压后放入nginx文件夹下,如下图
  • 进入nginx-1.25.1文件夹
  • 注:您的VUE前端dist包内容替换到html文件夹下即可,需进入dist里面,只包含html
  • 3.3.1编写install.bat文件

  • @echo off
    REM Check if the service is installed
    sc query nginx >nul 2>nul
    if %errorlevel% equ 1060 (
        nginx-service.exe install
        echo loading...
        timeout /t 2 >nul
        net start nginx
    ) else (
        echo Nginx Service installed Nginx
    )

  • 3.3.2编写卸载uninstall.bat文件

  • nginx.exe -s stop
    net stop nginx
    @echo off
    taskkill /F /IM nginx.exe
    nginx-service.exe uninstall

  • 3.3.3编写start.bat文件

  • @echo off
    REM Check if the service is running
    sc query nginx | find "RUNNING" >nul
      if %errorlevel% equ 0 (
    &

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农_李先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值