同一台机器,不同服务,不同JDK,如何巧妙配置各自JDK启动
我们开发和部署的时候,难免遇到资源紧张,同一台机器,部署好几个服务,而不同服务依赖的JDK也不同,而我们配置环境变量只能一份,而我们服务都要启动,这样我们就需要每个服务都配置自己的JDK。
我们以SpringBoot项目为例。服务器是windows系统,我的配置路径是这样的。
由于SpringBoot的jar包同级config配置优先级最高,所以我们把配置放在外面,方便修改。
目录中包含启动,停止,重启脚本。还包含我们需要的jdk,还有jar包。
启动脚本:
@echo off
START "XXXServer" jdk1.8.0_241\bin\javaw -jar XXXServer.jar
停止脚本:
@echo off
set port=8091
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
goto q
)
:q
重启脚本:
@echo off
set port=8091
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
goto start
)
:start
START "XXXXServer" jdk1.8.0_241\bin\javaw -jar XXXXServer.jar
这样的话,就可以满足同一个机器,不同系统,不同JDK版本的要求,随意使用自己的JDK,启动自己的服务。