# 启动后端服务脚本 Write-Host "正在启动后端服务..." -ForegroundColor Green # 检查jar文件是否存在 if (-not (Test-Path "target/demo-0.0.1-SNAPSHOT.jar")) { Write-Host "错误: jar文件不存在,请先编译项目" -ForegroundColor Red exit 1 } # 启动服务 Write-Host "启动Spring Boot应用..." -ForegroundColor Yellow $process = Start-Process -FilePath "java" -ArgumentList "-jar", "target/demo-0.0.1-SNAPSHOT.jar", "--spring.profiles.active=dev" -PassThru -NoNewWindow Write-Host "服务进程ID: $($process.Id)" -ForegroundColor Cyan # 等待服务启动 Write-Host "等待服务启动..." -ForegroundColor Yellow $timeout = 60 $elapsed = 0 while ($elapsed -lt $timeout) { Start-Sleep -Seconds 2 $elapsed += 2 # 检查端口是否监听 $listening = netstat -an | Select-String ":8080.*LISTENING" if ($listening) { Write-Host "✓ 服务已成功启动在端口8080!" -ForegroundColor Green Write-Host "进程ID: $($process.Id)" -ForegroundColor Cyan Write-Host "按 Ctrl+C 停止服务" -ForegroundColor Yellow # 保持服务运行 try { $process.WaitForExit() } catch { Write-Host "服务已停止" -ForegroundColor Red } break } Write-Host "等待中... $elapsed/$timeout 秒" -ForegroundColor Gray } if ($elapsed -ge $timeout) { Write-Host "✗ 服务启动超时" -ForegroundColor Red Stop-Process -Id $process.Id -Force exit 1 }