56 lines
1.5 KiB
Batchfile
56 lines
1.5 KiB
Batchfile
@title HertzBeat
|
|
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
rem 项目名称
|
|
set SERVER_NAME=${project.artifactId}
|
|
|
|
rem jar名称
|
|
set JAR_NAME=${project.build.finalName}.jar
|
|
|
|
rem 进入bin目录
|
|
cd /d %~dp0
|
|
rem 返回到上一级项目根目录路径
|
|
cd ..
|
|
rem 打印项目安装根目录绝对路径
|
|
set DEPLOY_DIR=%~dp0..
|
|
echo %DEPLOY_DIR%
|
|
rem 外部配置文件绝对目录,如果是目录需要/结尾,也可以直接指定文件
|
|
rem 如果指定的是目录,spring则会读取目录中的所有配置文件
|
|
set CONF_DIR=%DEPLOY_DIR%\config
|
|
echo %CONF_DIR%
|
|
|
|
rem 应用的端口号
|
|
set SERVER_PORT=1157
|
|
|
|
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr "0.0.0.0:%SERVER_PORT%"') do (
|
|
echo The HertzBeat %SERVER_NAME% port %SERVER_PORT% already used!
|
|
echo exit!
|
|
goto q
|
|
)
|
|
|
|
|
|
rem 项目日志输出绝对路径
|
|
set LOGS_DIR=%DEPLOY_DIR%\logs
|
|
|
|
rem JVM Configuration
|
|
set JAVA_OPTS= -Duser.timezone=Asia/Shanghai
|
|
|
|
set JAVA_MEM_OPTS= -server -XX:SurvivorRatio=6 -XX:+UseParallelGC
|
|
|
|
rem 加载外部log文件的配置
|
|
set LOGGING_CONFIG=-Dlogging.config=%CONF_DIR%\logback-spring.xml
|
|
rem 注意配置文件目录最后的后缀需为 / 而不是 windows \
|
|
set CONFIG_FILES= -Dlogging.path=%LOGS_DIR% %LOGGING_CONFIG% -Dspring.config.location=%CONF_DIR%/
|
|
echo Starting the %SERVER_NAME% ...
|
|
|
|
start javaw %JAVA_OPTS% %JAVA_MEM_OPTS% %CONFIG_FILES% -jar %DEPLOY_DIR%\%JAR_NAME%
|
|
|
|
echo "Service starting OK!"
|
|
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%SERVER_PORT%"') do (
|
|
echo Service PID: %%m , Port %SERVER_PORT%
|
|
goto q
|
|
)
|
|
|
|
:q
|
|
pause |