startup.bat 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. @title HertzBeat
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. rem 项目名称
  5. set SERVER_NAME=${project.artifactId}
  6. rem jar名称
  7. set JAR_NAME=${project.build.finalName}.jar
  8. rem 进入bin目录
  9. cd /d %~dp0
  10. rem 返回到上一级项目根目录路径
  11. cd ..
  12. rem 打印项目安装根目录绝对路径
  13. set DEPLOY_DIR=%~dp0..
  14. echo %DEPLOY_DIR%
  15. rem 外部配置文件绝对目录,如果是目录需要/结尾,也可以直接指定文件
  16. rem 如果指定的是目录,spring则会读取目录中的所有配置文件
  17. set CONF_DIR=%DEPLOY_DIR%\config
  18. echo %CONF_DIR%
  19. rem 应用的端口号
  20. set SERVER_PORT=1157
  21. for /f "tokens=1-5" %%i in ('netstat -ano^|findstr "0.0.0.0:%SERVER_PORT%"') do (
  22. echo The HertzBeat %SERVER_NAME% port %SERVER_PORT% already used!
  23. echo exit!
  24. goto q
  25. )
  26. rem 项目日志输出绝对路径
  27. set LOGS_DIR=%DEPLOY_DIR%\logs
  28. rem JVM Configuration
  29. set JAVA_OPTS= -Duser.timezone=Asia/Shanghai
  30. set JAVA_MEM_OPTS= -server -XX:SurvivorRatio=6 -XX:+UseParallelGC
  31. rem 加载外部log文件的配置
  32. set LOGGING_CONFIG=-Dlogging.config=%CONF_DIR%\logback-spring.xml
  33. rem 注意配置文件目录最后的后缀需为 / 而不是 windows \
  34. set CONFIG_FILES= -Dlogging.path=%LOGS_DIR% %LOGGING_CONFIG% -Dspring.config.location=%CONF_DIR%/
  35. echo Starting the %SERVER_NAME% ...
  36. start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME%
  37. echo "Service starting OK!"
  38. for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%SERVER_PORT%"') do (
  39. echo Service PID: %%m , Port %SERVER_PORT%
  40. goto q
  41. )
  42. :q
  43. pause