必须使用Community Server Connector替代已弃用的Tomcat for Java插件,安装后需重启VSCode以启用SERVERS面板;项目级JDK版本须≥17,并在.vscode/settings.json中强制指定java.jdt.ls.java.home;部署需手动编辑server.xml添加<Context>配置docBase和path,而非依赖自动部署。

Tomcat for Java插件已弃用,必须换Community Server Connector
VSCode官方明确废弃了旧版 Tomcat for Java 插件,现在唯一被推荐且持续维护的是 Community Server Connector。装错插件会导致后续所有配置失败,比如点击“Add Server”时卡住、报错 Unable to create the server: Extension backend error - there are no rsp providers currently running...。
安装后侧边栏会出现 SERVERS 标签页,不是“Run and Debug”里找配置项——这是最常被误操作的一步。
- 务必从 VSCode 扩展市场搜索并安装
Community Server Connector(发布者:Red Hat) - 不要同时安装
Tomcat Server或其他 Tomcat 相关插件,会冲突 - 安装后重启 VSCode,否则 SERVERS 面板可能不显示或功能未激活
项目级 JDK 版本必须 ≥17,不能只靠全局设置
Community Server Connector 启动失败的第二大原因,是项目实际使用的 JDK 版本低于 17。即使系统 PATH 里是 JDK 17,VSCode 仍可能沿用项目根目录下 .vscode/settings.json 的旧配置,或自动识别出错误的 JDK 路径。
验证方式:在项目根目录打开终端,运行 java -version;再在 VSCode 中按 Ctrl+Shift+P → 输入 Java: Configure Java Runtime,确认列出的 “Workspace JDK” 是 JDK 17 或更新版本。
- 若没有 JDK 17,需先下载安装(如 Temurin 17 或 Amazon Corretto 17)
- 在项目根目录的
.vscode/settings.json中强制指定路径:"java.jdt.ls.java.home": "C:/Program Files/Java/jdk-17.0.2"
- 不要只改用户级 settings.json,项目级配置优先级更高,且影响服务器启动逻辑
部署前必须手动配置 server.xml 并指定 webapp 路径
Community Server Connector 不会自动把 Maven 项目的 target/my-app.war 或传统 Web 项目的 src/main/webapp 映射到 Tomcat 的 webapps 目录。它默认只启动空 Tomcat,不部署任何应用——这点和 IDEA 完全不同,新手极易以为“启动成功=项目跑起来了”。
正确做法是:右键 SERVERS 面板中的 Tomcat 实例 → Open Server Configuration → 编辑 server.xml,在 <Host> 内添加 <Context> 元素。
- 对 Maven 项目(war 包):
<Context path="/myapp" docBase="D:/my-project/target/my-app.war" reloadable="true"/>
- 对传统结构(无构建工具):
<Context path="/myapp" docBase="D:/my-project/src/main/webapp" reloadable="true"/>
-
reloadable="true"是热加载关键,但仅对 class 文件有效;JSP 修改仍需手动刷新,HTML/CSS 可实时生效
启动后访问 404?检查端口、路径和 context root 是否一致
Tomcat 启动日志显示 INFO: Server startup in [xxx] ms 并不等于你的应用就可访问。常见 404 原因不是代码问题,而是 URL 和部署配置错位:
- 默认端口是
8080,但server.xml中<Connector port="8080">可能被改过;启动日志第一行会打印实际监听地址,例如:Starting ProtocolHandler ["http-nio-9090"] -
<Context path="/myapp">决定了访问路径:必须用http://localhost:8080/myapp,而不是/或/myapp/(末尾斜杠会 404) - Maven 项目若用
mvn package生成的是my-app.war,那path就不能写成/my-app(注意连字符),否则上下文不匹配 - 首次部署后,检查 Tomcat 工作目录(通常是
workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/)下是否真有对应文件夹或 war 解压内容
真正容易被忽略的点是:Community Server Connector 的“Deploy”按钮在多数场景下是灰色不可用的,它只支持特定项目类型(如 Eclipse WTP 导出格式)。你得靠改 server.xml + 手动指向 docBase 来完成实质部署——这不是 bug,是设计使然。


















