Tomcat添加到Windows系统服务中,服务名称带空格

要将Tomcat添加到Windows系统服务中,可以通过Tomcat安装目录中"\bin\service.bat"来完成,如果目录中没有service.bat,则需要使用其它方法。

打到CMD命令行窗口,通过cd命令跳转到Tomcat安装目录的"\bin\"目录,然后执行如下命令:"service.bat install Apache Tomcat9.0.63"。此时会出现如下结果:

系统服务列表则会显示如下:

可以看到,服务名称中少了"Apache ",而显示名称前面则多了"Apache Tomcat 9.0",这不符合我们的预期。问题应该就出现在service.bat这个脚本文件里,因为上面执行的命令语句很简单,只涉及到这个脚本文件。查检脚本文件后,发现这段代码:

可以看到"--DisplayName"的值带了"Apache Tomcat 9.0 ","%SERVICE_NAME%"则是通过执行命令语句带进来的(不过只取了最后一个空格的后面部分,所以少了"Apache ")。我们可以把"Apache Tomcat 9.0 "这部分去掉,这样添加后的服务"显示名称"就不会自动带有一个前缀了。

修改脚本保存后,我们需要先删除前面添加的服务,通过如下命令:

然后再执行添加命令,可以看到系统服务列表显示如下:

虽然前缀没了,但是服务名称仍然不是预期的"Apache Tomcat9.0.63"。于是我在命令语句中给服务名称加上了引号,结果如下:

这是脚本内的语法有问题,不支持处理带有引号的参数。这里就不去处理这个BUG了,我直接用了简单粗暴的方法--在脚本开头中设置服务名称,并在命令行"//IS//%SERVICE_NAME%"上加了一对引号:

执行结果和系统服务系统显示如下:

到此,我们就将Tomcat服务名称和显示名称设置为符合预期的名称了。

相关推荐
中二骚年2 小时前
Windows 安全中心 / 防火墙故障,calc和Microsoft Store,终端(管理员)无法正常打开。 原因 + 修复方案
windows·安全·microsoft
万联WANFLOW3 小时前
CVE-2026-98432 等漏洞自查:AI 查出的 Linux、Windows 漏洞,运维怎么确认受不受影响
linux·运维·windows·网络安全
AlanAshley4 小时前
Windows 中导致延迟的软硬件及协议比重
windows
yuezhilangniao5 小时前
win10中文 以及 PowerShell 开发日常
windows·powershell
梅孔立9 小时前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
共享家952721 小时前
408 操作系统第一章
服务器·数据库·windows
paopaokaka_luck1 天前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
Sakura_j_h_1 天前
GitHub Actions 打包 Windows exe:中文编码与产物上传
windows·ci/cd·打包发布·github·pyinstaller·github actions
xixiaoyunya1 天前
搭一个浏览器即用的二进制文件分发点:目录规范与权限边界实践
网络·windows
麻瓜code1 天前
Spring AI 全模块 API 字典一览(1.1.0 版)
人工智能·windows·spring