You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse无法选择Dynamic Web Module 4.0:Tomcat 9不支持该版本

解决Tomcat 9在Eclipse Oxygen中无法选择Dynamic Web Module 4.0的问题

我来帮你解决这个问题——其实Tomcat 9是完全支持Dynamic Web Module 4.0(对应Servlet 4.0规范)的,你遇到的「无法选择4.0版本,提示Tomcat 9不支持」的问题,大概率是Eclipse的配置缓存、项目运行时关联或者配置文件的小问题,按照下面的步骤一步步排查即可:

步骤1:确认项目Java编译级别符合要求

Dynamic Web Module 4.0要求项目使用Java 8及以上版本,虽然你已经用了Java 8,但要确保项目的编译级别正确设置:

  • 右键你的项目 → Properties → 选择Java Compiler
  • 勾选「Enable project specific settings」,将「Compiler compliance level」设置为1.8
  • 如果页面提示需要更新JRE,切换到Java Build Path → Libraries,确认使用的是Java 8的JRE,不是更低版本

步骤2:确保项目关联了Tomcat 9运行时

如果项目没正确绑定Tomcat 9运行时,Eclipse会误判版本兼容性:

  • 右键项目 → Properties → 选择Targeted Runtimes
  • 勾选你已经添加的Tomcat 9运行时,点击「Apply and Close」

步骤3:手动修改项目分面配置文件(关键步骤)

有时候Eclipse的UI会出现缓存问题,导致无法在页面上选择4.0版本,这时候直接修改配置文件更可靠:

  1. 在Eclipse中打开项目的导航视图(如果没显示,点击Window → Show View → Navigator)
  2. 找到项目根目录下的.settings/org.eclipse.wst.common.project.facet.core.xml文件
  3. 打开该文件,找到如下行:
    <installed facet="jst.web" version="3.1"/>
    
    将version="3.1"修改为version="4.0"
  4. 保存文件,右键项目 → Refresh刷新项目
  5. 再次打开项目的Project Facets页面,你会看到Dynamic Web Module已经成功切换为4.0,且不再提示Tomcat 9不支持

步骤4:更新web.xml版本(可选但建议)

如果你的项目使用了传统的web.xml配置文件,建议将其升级到4.0版本以匹配Dynamic Web Module:
打开WEB-INF/web.xml,将根元素的声明替换为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

额外排查:更新Eclipse WTP插件(如果以上步骤无效)

你的Eclipse Oxygen.2(4.7.2)版本相对较老,可能对Servlet 4.0的支持存在小bug,尝试更新Web Tools Platform插件:

  • 打开Eclipse → Help → Eclipse Marketplace
  • 搜索「Web Tools Platform (WTP)」,找到适配Oxygen版本的最新更新包,安装后重启Eclipse

内容的提问来源于stack exchange,提问作者Garret Wilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:13:49