windows环境通过bat启动SpringBoot项目的jar,日志没有输出到指定文件

@echo off
rem 设置黑窗口标题,注意 第二种方式设置无效
title=third-api
rem 第一种方式日志会输出到指定的文件,黑窗口不会有任何输出
java -jar -Xms4000m -Xmx4000m -Xmn2000m third-api-5.0.1.1.jar  > startupLog.log

rem 第二种方式日志只会输出到黑窗口,而不会输出到文件,第二种方式 无法设置 title 和 color 属性
rem  start java -jar -Xms4000m -Xmx4000m -Xmn2000m third-api-5.0.1.1.jar  >StartupLog.log

exit
pause

### 创建用于启动 Java SpringBoot 项目的批处理 (.bat) 文件Windows 平台上,可以通过创建 `.bat` 批处理文件来简化 Spring Boot 应用程序启动过程。以下是实现这一目标的具体方法: #### 配置环境变量 确保 `JAVA_HOME` 已正确定义,并将其添加到系统的 PATH 变量中。这一步是为了让系统能够识别并调用 JDK 的 `java.exe` 命令。 #### 编写 .bat 文件的内容 下面是一个典型的 `.bat` 文件模板,用于启动一个 Spring Boot JAR 包应用程序: ```batch @echo off :: 设置编码方式为 UTF-8,防止中文乱码 chcp 65001 >nul :: 定义工作路径 set WORK_DIR=%~dp0 :: 切换至当前目录 cd /d %WORK_DIR% :: 启动 Spring Boot 应用程序 :: 使用 -Dfile.encoding=UTF-8 参数指定字符集编码 :: 替换 api-0.0.1-SNAPSHOT.jar 和端口号为你实际使用的名称和参数 "%JAVA_HOME%\bin\java.exe" -Dfile.encoding=UTF-8 -jar api-0.0.1-SNAPSHOT.jar --server.port=8080 pause ``` 上述代码解释如下: - **`@echo off`**:关闭命令回显,使控制台界面更加简洁[^3]。 - **`chcp 65001 >nul`**:设置控制台的默认字符编码为 UTF-8,避免因编码不一致而导致的日志或配置文件中的中文乱码问题。 - **`%~dp0`**:获取当前 `.bat` 脚本所在的绝对路径[^4]。 - **`cd /d %WORK_DIR%`**:切换到脚本所在的工作目录,确保相对路径资源可以被正确加载。 - **`"%JAVA_HOME%\bin\java.exe"`**:通过 JAVA_HOME 环境变量定位到具体的 java.exe 可执行文件位置。 - **`api-0.0.1-SNAPSHOT.jar`**:替换为你的 Spring Boot 项目打包后的 jar 名称。 - **`--server.port=8080`**:如果需要自定义服务器监听端口,则在此处修改对应的值。 #### 处理多个服务的情况 当存在多个独立的服务时,可通过单独的 `.bat` 文件分别管理它们,并在一个总的启动脚本中统一调用这些子脚本。例如: ```batch @echo off :: 启动第一个服务 start "" cmd /k call service-a.bat :: 启动第二个服务 start "" cmd /k call service-b.bat :: 启动第三个服务 start "" cmd /k call service-c.bat ``` 此方法允许每个服务拥有自己的日志记录窗口,便于调试与监控[^2]。 --- ### 注意事项 1. 如果计划长期运行该服务,建议考虑使用 Windows Service 来托管 Spring Boot 应用程序,从而获得更稳定的后台支持。 2. 对于生产环境中频繁更新的需求,还可以设计自动化的重启机制,进一步减少人工干预成本[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值