win下启动spring boot服务:
1.启动多个服务start-jars.bat
@echo off
:: 代码目录
set baseDir=C:\web\code\com-proj
:: jar包存放目录
set targetDir=C:\web\api
:: 项目及端口 动态配置
set arrLength=2
set arr[0].name=com-proj-zuul
set arr[0].port=8889
set arr[1].name=com-proj-eureka
set arr[1].port=8701
set arrIndex=0
echo 0.pull code and package
cd %baseDir%
svn update
call mvn clean package -DskipTests -pl %arr[0].name%,%arr[1].name% -am
:loopStart
if %arrIndex% equ %arrLength% goto end
set objCurrent.name=0
set objCurrent.port=0
for /f "usebackq delims==. tokens=1-3" %%i in (`set arr[%arrIndex%]`) do (
set objCurrent.%%j=%%k
)
echo =====starting %objCurrent.name%:%objCurrent.port%...=====
:: 先杀死进程
echo 1.find task and kill
for /f "tokens=5" %%i in ('netstat -aon ^| findstr ":%objCurrent.port%"') do (
set pid=%%i
)
if "%pid%"=="" (
echo not find it
) else (
echo kill task %pid%
taskkill /f /pid %pid%
timeout /T 3 /NOBREAK
)
:: 启动服务
echo 2.start jar
for /r %baseDir% %%i in (%objCurrent.name%-0*.jar) do (
echo cp %%i to "%targetDir%\%objCurrent.name%"
REM f is it's a file input line; /y cover file
echo f|xcopy /y %%i "%targetDir%\%objCurrent.name%\%objCurrent.name%-0.0.1-SNAPSHOT.jar"
cd "%targetDir%\%objCurrent.name%"
:: 启动下面的脚本
start cmd /c call %moduleName%.bat
)
set /a arrIndex=%arrIndex% + 1
goto loopStart
:end
pause
2.服务目录(C:\web\api\com-proj-zuul)下的服务com-proj-zuul.bat
title zuul
java -jar -Xms512m -Xmx768m com-proj-zuul-0.0.1-SNAPSHOT.jar --spring.profiles.active=test