@echo off chcp 65001 >nul echo ======================================== echo IoT SaaS 后端服务启动脚本 (Java 17) echo ======================================== echo. :: Java 17 路径 set JAVA17=C:\Program Files\Eclipse Adoptium\jdk-17.0.19.10-hotspot\bin\java.exe :: 检查Java 17是否存在 if not exist "%JAVA17%" ( echo [错误] 找不到 Java 17: %JAVA17% echo 请确认 JDK 17 已安装在此路径 pause exit /b 1 ) :: JAR文件路径 set JAR_FILE=%~dp0backend\iot-device\target\iot-device-1.0.0-exec.jar :: 检查JAR文件是否存在 if not exist "%JAR_FILE%" ( echo [错误] 找不到JAR文件: %JAR_FILE% echo 请先执行编译: mvn -f backend/pom.xml package -DskipTests pause exit /b 1 ) :: 检查9081端口是否被占用 netstat -ano | findstr ":9081.*LISTENING" >nul 2>&1 if %errorlevel%==0 ( echo [警告] 端口 9081 已被占用,尝试结束旧进程... for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":9081.*LISTENING"') do ( taskkill /F /PID %%a >nul 2>&1 ) timeout /t 2 /nobreak >nul ) echo [信息] 使用Java版本: "%JAVA17%" -version 2>&1 | findstr /i "version" echo. echo [信息] 启动后端服务... echo [信息] JAR文件: %JAR_FILE% echo [信息] 监听端口: 9081 echo. echo 按 Ctrl+C 停止服务 echo ======================================== echo. :: 启动后端 "%JAVA17%" -jar "%JAR_FILE%" pause