idea中Tomcat无法启动成功 - 且行且思

时间:2024-02-24 15:50:18

Tomcat刚启动,报出端口被占用

        问题1:Tomcat刚启动也就一两秒的时间,报出端口被占用 java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind
        idea内正常解决方式
        Tomcat自身解决方式

Tomcat启动一半,报出debugging错误

        问题2:启动tomcat进行到一半之后自动停止,报出 Method breakpoints may dramatically show down debugging
        解决方式:清除断点,重新启动Tomcat

Tomcat启动一半卡死

        问题3:此场景出现在Tomcat的调优部分,自己设置了Tomcat的占用内存,如果内存不够时 - 就会导致Tomcat在启动中卡死
        解决方式

Tomcat本身的问题扩展
Tomcat catalina.bat脚本分析
MyEclipse+Tomcat发布项目所遇问题

        解决:Windows下的安装配置与使用

Tomcat刚启动,报出端口被占用
问题1:Tomcat刚启动也就一两秒的时间,报出端口被占用 java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind

形式 - 1

形式 - 2

 

idea内正常解决方式

修改jmx port的端口地址(JMX的端口不能和http的端口重合)

 

Tomcat自身解决方式

1.找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口
2.使用命令netstat -aon|findstr 1099 找出占用1099端口的进程
3.然后关闭占用该端口的进程taskkill -f -pid 3756
4.重新启动Tomcat
5.如有问题可以跳转这里查看端口被占用方面的知识


Tomcat启动一半,报出debugging错误
问题2:启动tomcat进行到一半之后自动停止,报出 Method breakpoints may dramatically show down debugging

 

解决方式:清除断点,重新启动Tomcat

 

 

Tomcat启动一半卡死

问题3:此场景出现在Tomcat的调优部分,自己设置了Tomcat的占用内存,如果内存不够时 - 就会导致Tomcat在启动中卡死

 

解决方式

1.找到catalina.bat,因为调优的时候在catalina.bat文件加入了jvm的启动参数

 

2. 查看内部是否有 set JAVA_OPTS=-server -Xms1024m -Xmx1024m 配置

 

3.注释或删除这段代码再次运行tomcat就正常了, rem 是注释

rem set JAVA_OPTS=-server -Xms1024m -Xmx1024m




Tomcat本身的问题扩展

1、java配置路径有问题,请配置好jdk路径,具体参考java路径的配置吧。

2、项目未添加tomcat驱动,

(一般提示The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path属于这一类)

解决方法:保证已经装了tomcat的情况下,eclipse中选择对应项目右键build path ->Configure build path -> Java build path->选择Libraries ->点击右方Add Library… ->Server Runtime ->选择自己的tomcat服务器->Finish

3、项目中的web.xml中配置的servlet的名称写错,tomcat无法识别,

(一般控制台提示java.util.concurrent.ExecutionException属于这种问题)

解决方法:检查自己配置的servlet名称和路径是否正确。

4、端口被占用,一般由于上一次非正常关闭tomcat或eclipse导致,( Port 8080 … is already in use)

解决方法:
①修改端口号(当然不建议这么做) Tomcat根目录/conf/Server.xml中修改,这里就不提了吧…
②关闭被占用的端口进程→ 到dos窗口(计算机开始里的查找中输入cmd)→ 输入 netstat -ano|findstr 8080 (8080是被占用的端口号,哪个被占用输入哪个)→ 回车后可以看到有正在使用的进程 → 再输入 taskkill /pid 8080 /f (这里的8080是正在使用的进程信息中最后一个数字编号) → 回车后会显示已结束进程,然后重新启动tomcat即可