Tomcat启动异常:CLI正常,Eclipse启动后localhost:8080报404
检查Eclipse中Tomcat的安装路径配置
Eclipse默认会将Tomcat配置复制到工作空间的.metadata目录,而非直接使用你本地安装的Tomcat。打开Window > Preferences > Server > Runtime Environments,选中你的Tomcat 9实例,点击Edit,确认Tomcat installation directory指向你实际安装的Tomcat路径(例如/Users/xxx/apache-tomcat-9.0.79),而非Eclipse生成的临时目录。修正路径后重启服务器。验证Tomcat端口配置
尽管你已关闭CLI启动的Tomcat,但Eclipse中的Tomcat可能因之前的端口占用问题自动切换了端口。打开Eclipse的Servers视图,双击Tomcat服务器,在Ports区域检查HTTP/1.1端口是否为8080。若端口已变更(如8081),需使用实际端口访问,否则会出现404。检查服务器发布设置
右键点击Servers视图中的Tomcat服务器,选择Add and Remove...,确认是否有项目或Tomcat自带的ROOT应用被部署。另外,在服务器编辑页面底部的Server Locations区域,若选择了Use workspace metadata,Eclipse会使用独立的webapps目录,可能未包含Tomcat默认的ROOT应用。可切换为Use Tomcat installation,直接使用本地Tomcat的webapps目录,确保ROOT应用正常部署。查看Tomcat日志文件
即使Eclipse控制台无错误提示,也要检查Eclipse使用的Tomcat日志:若使用工作空间metadata,日志路径通常为工作空间目录/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs,查看localhost.log和catalina.out,排查是否存在ROOT应用部署失败等隐性错误。确认JDK兼容性与启动参数
Tomcat 9.0.x支持JDK 8至17,但需检查启动参数是否正确。在服务器编辑页面点击Open Launch Configuration,切换到Arguments标签,删除-Djava.endorsed.dirs这类过时参数(Tomcat 9已不再需要)。同时确认Run Configurations中的JAVA_HOME环境变量指向/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home。
内容的提问来源于stack exchange,提问作者Bruce Altner

