在 Windows 环境部署 Java 应用时,合理的启动脚本能大幅简化运维工作。本文整理了标准 BAT 脚本、静默启动 VBS 脚本、集成 Nacos 配置的启动方案,以及常见编码问题的解决方法。

1. 基础启动脚本配置

1.1 标准批处理脚本 (.bat)

创建 start-app.bat

@echo off
title Java Application

:: ================= 配置区域 =================
:: 设置 Java 路径 (可选)
:: set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_xxx
:: set PATH=%JAVA_HOME%\bin;%PATH%

:: 设置 Jar 包名称 (请修改这里)
set JAR_NAME=your-application.jar

:: 设置JVM参数
set JAVA_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8

:: 设置应用参数
set APP_ARGS=--spring.profiles.active=dev
:: ===========================================

echo [INFO] 正在启动服务...
echo [INFO] JAR包: %JAR_NAME%

java %JAVA_OPTS% -jar %JAR_NAME% %APP_ARGS%

echo [INFO] 服务已启动
pause

1.2 静默启动脚本 (.vbs)

创建 run-app.vbs,完全后台运行无窗口:

Set ws = CreateObject("Wscript.Shell")

' 1. 填写 jar 包完整路径
jarPath = "C:\path\to\your\your-application.jar"

' 2. 配置JVM参数
javaOpts = "-Xms512m -Xmx1024m -Dfile.encoding=UTF-8"

' 3. 配置应用参数
appArgs = "--spring.profiles.active=dev"

' 构建并运行命令 (0 表示隐藏窗口)
command = "javaw " & javaOpts & " -jar """ & jarPath & """ " & appArgs
ws.Run command, 0

2. 集成 Nacos 配置的启动脚本

创建 start-with-nacos.bat

@echo off
title Nacos Application

:: ================= 配置区域 =================
set NACOS_SERVER=172.135.26.21:8848
set NACOS_NAMESPACE=newpowerplant-content
set JAR_NAME=your-application.jar
set JAVA_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8
:: ===========================================

echo [INFO] 正在启动服务...
echo [INFO] Nacos地址: %NACOS_SERVER%
echo [INFO] 命名空间: %NACOS_NAMESPACE%

java %JAVA_OPTS% -jar ^
  -Dspring.cloud.nacos.discovery.server-addr=%NACOS_SERVER% ^
  -Dspring.cloud.nacos.config.server-addr=%NACOS_SERVER% ^
  -Dspring.cloud.nacos.discovery.namespace=%NACOS_NAMESPACE% ^
  -Dspring.cloud.nacos.config.namespace=%NACOS_NAMESPACE% ^
  %JAR_NAME%

echo [INFO] 服务启动完成
pause

关键参数说明:

参数 说明
spring.cloud.nacos.discovery.server-addr 服务发现地址
spring.cloud.nacos.config.server-addr 配置中心地址
spring.cloud.nacos.discovery.namespace 服务发现命名空间
spring.cloud.nacos.config.namespace 配置中心命名空间

3. 常见问题

3.1 编码问题(Nacos配置乱码)

现象: Nacos 配置解析错误,出现乱码。

原因: Windows 默认编码为 GBK,而 Nacos 配置通常为 UTF-8。

解决: 启动参数中强制指定编码:

set JAVA_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8

3.2 后台运行

:: 使用 start 命令后台运行
start javaw %JAVA_OPTS% -jar %JAR_NAME%

或直接使用上文的 .vbs 脚本静默运行。

4. 运行方式

方式 操作 特点
命令行运行 进入目录执行 start-app.bat 可见日志输出
双击运行 直接双击 .bat 文件 弹出命令窗口
静默运行 双击 .vbs 脚本 完全后台,无窗口

5. 附录

环境检查命令

:: 检查Java版本
java -version

:: 检查网络连通性
ping 172.135.26.21

:: 检查端口可用性
telnet 172.135.26.21 8848

常用调试参数

:: 显示详细日志
java -Dlogging.level.root=DEBUG -jar your-application.jar

:: 开启远程调试
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-application.jar