命令行一键启动和关闭java应用

背景

近来在搞springcloud微服务,有服务的注册和发现,即nacos。有网关服务,即spring-gateway。有认证中心服务。还有用户中心服务,文件中心服务,springboot admin等等。部署的时候,这么多服务,一个个启动起来甚是麻烦。由于我的服务都是部署在windows下,所以就想着用windows命令行来统一启动和关闭这些服务。

启动服务

部署目录结构如下:
在这里插入图片描述

  • config:数据库等的配置。
  • jar:各个服务jar包。
  • logs:服务的日志。
  • nacos:服务注册和发现中心。

话不多说,直接上代码:

chcp 65001
@echo off

taskkill /f /fi "IMAGENAME eq redis*" /im *
taskkill /f /fi "IMAGENAME eq javaw.exe" /im *

e:
rem 启动nacos
cd E:\projects\yyl-system\java\micro-system\release\nacos\bin
start /min shutdown.cmd
timeout /T 5
start /min startup.cmd
timeout /T 5

rem 启动redis
d:
cd D:\Redis
start /b redis-server.exe

rem java服务
e:
cd E:\projects\yyl-system\java\micro-system\release\jar
rem 网关中心-sc-gateway.jar
start "网关" javaw "-Dfile.encoding=utf-8" -jar sc-gateway.jar
timeout /T 5

rem 认证中心-sc-gateway.jar
start "认证中心" javaw "-Dfile.encoding=utf-8" -jar yyl-authorization.jar
timeout /T 5

rem 用户中心-sc-gateway.jar
start "用户中心" javaw "-Dfile.encoding=utf-8" -jar user-center.jar
timeout /T 5

rem 文件中心-sc-gateway.jar
start "文件中心" javaw "-Dfile.encoding=utf-8" -jar file-center.jar
timeout /T 5

rem 后台管理中心-sc-gateway.jar
start "后台管理中心" javaw "-Dfile.encoding=utf-8" -jar sc-admin.jar

pause

命令解析

chcp 65001

改变命令行的编码为utf8。

@echo off

关闭命令输出,如果为on,那么你输出的命令会打印在命令行中。

taskkill /f /fi “IMAGENAME eq redis*” /im *

/f表示强制终止进程。
/fi表示筛选进或筛选出查询的任务。
IMAGENAME eq redis*表示匹配镜像名以redis开头的任务。
/im *image name表示要终止的镜像名,*表示终止所有镜像。

start /min shutdown.cmd

以最小化窗口(/min)启动shutdown.cmd,通常会打开新的窗口。

timeout /T 5

延迟5s执行下一条命令。

start “网关” javaw “-Dfile.encoding=utf-8” -jar sc-gateway.jar

启动sc-gateway.jar服务,“网关”是窗口名。javaw可以隐藏窗口,当然也可以使用java命令。“-Dfile.encoding=urf-8”表示设置编码格式为utf-8。

pause

表示命令执行完后,不关闭窗口,等待下一步操作。如果没有pause,命令执行完后,会自动关闭窗口。

关闭服务

命令跟开启服务差不多

chcp 65001
@echo off
e:
cd E:\projects\yyl-system\java\micro-system\release\nacos\bin
start /b shutdown.cmd
taskkill /F /fi "IMAGENAME eq redis*" /im *
taskkill /F /fi "IMAGENAME eq javaw.exe" /im *
pause

服务启动后

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nssm注册服务

将nssm.exe拷贝至release目录。
在这里插入图片描述
在当前目录打开命令行,并执行如下命令:

nssm.exe install yyl_framework

打开的窗口中path选择start.cmd,点确定即可。
在这里插入图片描述
然后就可以快乐地玩耍了~~^~~
nssm.exe可以到我的资源中下载。
觉得文章有帮助的,一键三连,点赞收藏关注哦~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Windows系统中,要使用命令行一键切换多个JDK版本,可以按照以下步骤操作: 1. 首先,在当前用户的环境变量中设置JDK的安装路径。在命令行中输入`setx JAVA_HOME "JDK的安装路径"`。例如,如果要切换到JDK 8,将路径替换为JDK 8的安装路径。 2. 接下来,更新系统的Path变量。在命令行中输入`setx Path "%JAVA_HOME%\bin;%Path%"`。这将把JDK的bin文件夹路径添加到系统的Path变量中,使得系统能找到正确的JDK版本。 3. 为了实现一键切换,可以编写一个批处理脚本或者PowerShell脚本。在脚本中,可以使用`setx`命令来切换JDK的安装路径和更新系统的Path变量。 4. 在脚本中,可以定义不同的变量来表示不同的JDK版本,然后在切换时将对应的变量传递给`setx`命令。 5. 最后,在命令行中运行脚本即可一键切换多个JDK版本。可以创建不同的脚本来切换到不同的JDK版本,这样就可以根据需要灵活选择。 通过以上步骤,我们可以使用命令行一键切换多个JDK版本。这样可以方便地在不同的项目中使用不同的JDK版本,并且避免了手动修改环境变量的繁琐步骤。 ### 回答2: 在Windows系统上,可以通过以下步骤使用命令行一键切换多个JDK版本: 1. 首先,确保你已经安装了多个不同版本的JDK,并记录它们的安装路径。 2. 打开命令提示符(CMD)或者PowerShell。 3. 输入以下命令来设置环境变量,将你想要切换的JDK版本路径添加到PATH环境变量中: ``` setx /M JAVA_HOME "C:\Path\to\your\jdk\version" setx /M PATH "%JAVA_HOME%\bin;%PATH%" ``` 注意,将上面的`C:\Path\to\your\jdk\version`替换为你想要切换的JDK版本的安装路径。 4. 使用以下命令来验证JDK版本是否已成功更改: ``` java -version ``` 5. 如果你想要切换到另一个JDK版本,重复步骤3和4。 请注意,这种方法只在当前的命令提示符或者PowerShell会话中生效。如果你想要在重新启动后保留更改,你需要将以上步骤执行的命令添加到你的系统环境变量中。 总之,通过设置环境变量和添加到PATH中,使用CMD或者PowerShell可以轻松地在Windows系统中一键切换多个JDK版本。 ### 回答3: 在Windows系统上,我们可以使用命令行一键切换多个JDK版本。下面是一个简单的步骤: 1. 首先,在计算机上安装多个不同版本的JDK,并设置好对应的环境变量。 2. 打开命令提示符,可以通过按下Win键+R,然后输入“cmd”来打开。 3. 在命令行中,使用“where java”命令来查找当前系统中已安装的所有JDK的路径。该命令会列出所有JDK的安装位置。 4. 根据需要,将不同版本的JDK路径添加到环境变量中。使用“setx JAVA_HOME <JDK路径>”命令来设置对应JDK的JAVA_HOME环境变量。 5. 然后,使用“setx PATH %JAVA_HOME%\bin;%PATH%”来设置PATH环境变量。这将确保命令行可以找到所选的JDK版本。 6. 现在,可以使用“java -version”命令来验证所选的JDK版本。在命令行中输入该命令后,将显示当前运行的JDK的版本信息。 7. 如果需要切换到另一个JDK版本,只需重复第4步和第5步,重新设置JAVA_HOME和PATH环境变量。 通过以上步骤,我们可以使用命令行在Windows系统中一键切换多个JDK版本。这样可以方便地在不同项目或开发环境之间切换,确保与应用程序的版本要求相匹配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上飞跃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值