deploy.bat 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. @echo off
  2. chcp 65001 >nul
  3. echo ============================================
  4. echo Snapshot 后端部署脚本
  5. echo ============================================
  6. echo.
  7. REM 检查Java环境
  8. echo [1/6] 检查Java环境...
  9. java -version >nul 2>&1
  10. if %errorlevel% neq 0 (
  11. echo [ERROR] 未检测到Java环境,请安装Java 17或更高版本
  12. pause
  13. exit /b 1
  14. )
  15. echo [OK] Java环境检查通过
  16. echo.
  17. REM 检查Maven环境
  18. echo [2/6] 检查Maven环境...
  19. call mvn -version >nul 2>&1
  20. if %errorlevel% neq 0 (
  21. echo [ERROR] 未检测到Maven环境,请安装Maven
  22. pause
  23. exit /b 1
  24. )
  25. echo [OK] Maven环境检查通过
  26. echo.
  27. REM 初始化数据库(仅在使用 MySQL 时需要)
  28. echo [3/6] 数据库初始化...
  29. echo 注意:默认使用 SQLite,无需初始化数据库。
  30. echo 如需使用 MySQL,请先修改 application-mysql.properties 中的连接信息,
  31. echo 然后运行 init-db.bat 进行数据库初始化。
  32. echo.
  33. set /p confirm="是否跳过数据库初始化?(Y/n): "
  34. if /i not "%confirm%"=="n" (
  35. echo 跳过数据库初始化
  36. ) else (
  37. echo 请使用 init-db.bat 进行数据库初始化
  38. pause
  39. exit /b 0
  40. )
  41. echo.
  42. REM 清理之前的构建
  43. echo [4/6] 清理之前的构建...
  44. call mvn clean
  45. if %errorlevel% neq 0 (
  46. echo [ERROR] 清理失败
  47. pause
  48. exit /b 1
  49. )
  50. echo [OK] 清理完成
  51. echo.
  52. REM 编译打包
  53. echo [5/6] 编译打包项目...
  54. call mvn clean package -DskipTests
  55. if %errorlevel% neq 0 (
  56. echo [ERROR] 编译打包失败
  57. pause
  58. exit /b 1
  59. )
  60. echo [OK] 编译打包完成
  61. echo.
  62. REM 启动应用
  63. echo [6/6] 启动应用...
  64. echo 正在启动Spring Boot应用...
  65. echo.
  66. REM 检测是否已经有进程在运行
  67. tasklist /FI "IMAGENAME eq java.exe" 2>NUL | find /I /N "java.exe">NUL
  68. if "%ERRORLEVEL%"=="0" (
  69. echo [WARN] 检测到Java进程正在运行
  70. set /p kill="是否停止现有进程?(y/N): "
  71. if /i "!kill!"=="y" (
  72. taskkill /F /IM java.exe
  73. timeout /t 2 /nobreak >nul
  74. )
  75. )
  76. REM 启动应用
  77. echo 启动命令:java -jar target\snapshot-backend-1.0.0.jar
  78. echo.
  79. start /B java -jar "target\snapshot-backend-1.0.0.jar"
  80. REM 等待应用启动
  81. echo 等待应用启动...
  82. timeout /t 10 /nobreak >nul
  83. REM 检查应用是否启动成功
  84. echo.
  85. echo ============================================
  86. echo [OK] 部署完成!
  87. echo ============================================
  88. echo.
  89. echo 应用访问地址: http://localhost:7626
  90. echo.
  91. echo 按任意键关闭此窗口...
  92. pause >nul