大千世界,茫茫人海,相识就是一种缘分。若此篇文章对您有帮助,点个赞或点个关注呗!
前言
开发过程中,便于单独服务的调用。我们会将服务打包成war包,直接放到Tomcat服务器的webapps目录下,直接双击bin目录下的startup.bat批处理的快捷方式,即可启动所需的服务!
Tomcat
我用的Tomcat9.0.30是官方最新的免安装版;
一、问题描述一:
双击startup.bat批处理的快捷方式,屏幕一闪而过,再无任何结果!
1、dos窗口下查看错误信息
2、或者右键用notePad++文本编辑器打开文件,在末尾添加pause(暂停指令),保存后双击startup.bat,这时候dos窗口就会停留在桌面,并且会显示出错信息,测试成功后删除pause指令。
报错信息一样,只是两种查看方式!
问题一的解决方案:
The JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program
原因:以前版本的tomcat需要JDK,现在的tomcat(9.0.3)只要有JRE就可以。 如果你装的tomcat的是解压版的(免安装的)那么则需要自己手动配置JRE_HOME 这个环境变量,否则,就会出现上面的错误。 解决办法:右击 计算机(我的电脑)-属性 - 高级系统设置 - 环境变量, 在系统变量中 新建 变量名:JRE_HOME 变量值:D:\Program Files\Java\jre(根据自己安装路径,找到jre赋值路劲即可!)
问题一完美解决!
二、问题描述二:
错误信息:
通过命令行的提示看到,这是因为电脑上没有配置JAVA_HOME或者JRE_HOME导致的。按照上面的方式配置JAVA_HOME和JRE_HOME;
问题二的解决方案:
path变量值中,添加如下的两个配置,保存即可!
三、问题描述三:
如果环境变量没有出错,也没有出现上述两种错误,name可能是8080端口被占用,导致端口冲突,Tomcat启动失败,可以以下指令查看,具体端口是否被占用!
问题三的解决方案:
Windows操作系统
- 查看端口是否被占用:
netstat -aon|findstr "8080"
协议 本地协议 外部协议 状态 PID
- 强制杀掉指定端口的进程:
taskkill /pid 16028-t -f