当前位置:首页 > 技术 > 正文内容

Vue3+Vite 与 Java 项目在 Windows 下的后台自启动及静默运行方案

访客 技术 2026年5月26日 3

实现本地服务自动运行与开机延迟启动策略

本文介绍如何将基于 Vue3 + Vite 构建的前端项目和基于 Spring Boot 的 Java 后端服务部署为本地服务器,并通过脚本实现无感启动、隐藏命令行窗口以及延迟自启功能。

Vue3 + Vite 前端项目配置

确保项目已正确打包并可通过预览模式运行:

{
  "scripts": {
    "preview": "vite preview"
  }
}

执行构建命令生成静态资源:

npm run build

输出文件默认位于 dist 目录。可在本地测试预览服务是否正常:

npm run preview

若需在服务启动时自动打开浏览器,可在 vite.config.ts 中配置:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { fileURLToPath, URL } from 'url';

export default defineConfig({
  plugins: [vue()],
  base: './',
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  server: {
    open: true
  },
  preview: {
    open: false
  }
});

创建启动批处理脚本(.bat)

在任意目录新建文本文件,例如命名为 start_vue_site.txt,输入以下内容:

@echo off
cd /d D:\my-site
call npm run preview
exit

将路径 D:\my-site 替换为实际项目根目录。保存后重命名为 start_vue_site.bat。双击运行可验证是否成功启动服务。

隐藏命令行窗口(使用 .vbs 脚本)

为了不显示黑窗体,创建 VBScript 封装调用:

新建 launch_hidden.txt,写入:

CreateObject("WScript.Shell").Run "D:\APersonal\StartBat\start_vue_site.bat", 0, True

修改路径指向真实的 .bat 文件位置,保存并重命名为 launch_hidden.vbs。双击该文件即可静默启动服务。

设置延迟自启动(使用任务计划程序)

避免系统开机时立即加载影响性能,推荐使用"任务计划程序"实现延迟启动:

  1. 在开始菜单搜索并打开【任务计划程序】。
  2. 点击"创建任务",填写名称如 Launch Vue Site
  3. 切换到"触发器"选项卡 → 新建 → 选择"登录时"或"系统启动时"。
  4. 勾选"延迟任务"并设置等待时间(如5分钟)。
  5. 在"操作"选项卡中新建,动作为"启动程序",选择上面创建的 launch_hidden.vbs 路径。
  6. 保存任务。

注意:无需再将脚本放入"启动"文件夹,防止重复运行。

停止服务脚本

由于 Vite 使用 Node.js 运行,可通过结束进程终止服务:

新建 stop_vue_site.txt,内容如下:

@echo off
taskkill /IM node.exe /F
exit

保存为 stop_vue_site.bat 即可一键关闭所有 Node 服务(请谨慎使用,可能影响其他应用)。

Java 后端项目部署与自启

以 Maven 打包的 Spring Boot 应用为例,使用 IDEA 成功打包后,在 target 目录下得到可执行 JAR 文件,如:my-site-0.0.1-SNAPSHOT.jar

创建 Java 启动脚本

新建 start_java_app.txt

@echo off
cd /d D:\my-site-java\target
java -jar my-site-0.0.1-SNAPSHOT.jar

替换路径与 JAR 名称后保存为 start_java_app.bat。双击测试服务能否正常启动。

静默运行 Java 程序

同样使用 VBScript 隐藏窗口:

CreateObject("WScript.Shell").Run "D:\APersonal\StartBat\start_java_app.bat", 0, True

保存为 run_java_hidden.vbs

配置延迟自启动

步骤同上,在"任务计划程序"中创建新任务,指定触发时间为系统启动后延迟执行,操作为运行该 .vbs 文件。

精准关闭 Java 服务

避免误杀其他 Java 进程,应根据 JAR 名称定位 PID 并关闭:

新建 stop_java_app.txt

@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims= " %%i in ('jps ^| findstr my-site-0.0.1-SNAPSHOT.jar') do (
    echo Found process PID: %%i
    taskkill /F /PID %%i
)

替换 JAR 文件名为实际值,保存为 stop_java_app.bat。此脚本将仅终止目标 Java 应用。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。