Tomcat安装提示地址已占用、启动失败部署错误问题咨询
Tomcat 端口占用及启动部署失败解决方案
报错1:"This address is already in use"(地址已被占用)
排查与解决步骤:
- 定位占用进程:
- Windows系统:打开命令提示符执行
netstat -ano | findstr "8080",默认Tomcat端口为8080,若已自定义端口则替换为实际使用的端口,输出结果最后一列即为占用进程的PID - Linux/macOS系统:执行
lsof -i :8080或netstat -tulpn | grep 8080,输出结果中即可查看占用进程的PID
- Windows系统:打开命令提示符执行
- 处理占用问题:
- 若占用进程为非必要进程:Windows执行
taskkill /f /pid 对应PID数值结束进程;Linux/macOS执行kill -9 对应PID数值结束进程 - 若占用进程无法关闭:修改Tomcat默认端口,找到Tomcat安装目录下
conf/server.xml文件,调整以下三处端口为未被占用的数值即可:
修改后保存配置文件,重启Tomcat即可生效。<!-- HTTP访问端口,默认8080,可改为8081等 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> <!-- shutdown监听端口,默认8005,可改为8006等 --> <Server port="8005" shutdown="SHUTDOWN"> <!-- AJP服务端口,默认8009,可改为8010等 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
- 若占用进程为非必要进程:Windows执行
报错2:Deployment error: Starting of Tomcat failed. See the server log for details. BUILD FAILED
排查与解决步骤:
- 首先确认端口占用问题已完全解决:启动Tomcat前再次执行端口查询命令,确认配置的三个Tomcat相关端口没有被其他进程占用
- 验证JDK环境配置正确性:
- 确认JDK版本与Tomcat版本匹配,例如Tomcat 10需要JDK 11及以上版本,Tomcat 9需要JDK 8及以上版本
- 执行
java -version和javac -version确认JDK版本一致,检查JAVA_HOME、JRE_HOME环境变量配置无拼写错误、路径正确
- 检查Tomcat目录权限:
- Linux/macOS系统下若Tomcat安装在系统级目录,需授予当前用户目录读写执行权限,执行
sudo chmod -R 755 你的Tomcat安装目录 - Windows系统下若Tomcat安装在C盘,可尝试右键以管理员身份运行Tomcat或对应开发IDE
- Linux/macOS系统下若Tomcat安装在系统级目录,需授予当前用户目录读写执行权限,执行
- 排查部署包问题:
- 确认部署的war包无损坏,包内web.xml等配置文件无语法错误,运行所需依赖无缺失
- 清空Tomcat的
work临时目录,删除webapps目录下对应部署的项目文件,重新打包部署后再启动
- 查看日志定位具体问题:打开Tomcat安装目录下
logs文件夹,查看catalina.out(Linux/macOS)或按日期命名的catalina.xxxx-xx-xx.log(Windows)文件,搜索ERROR级别的日志即可定位具体错误原因,类冲突、配置解析错误、依赖缺失等问题均可在日志中找到明确提示,针对性解决即可。
内容的提问来源于stack exchange,提问作者Aameen Patel
相关产品推荐
相关产品推荐

