Eclipse 2021-9迁移至Java 17后添加Web项目到Tomcat提示无可用资源问题
适配解决方案
根因说明
Eclipse 2021-09 内置的Web Tools Platform(WTP)Tomcat适配器默认将Tomcat 9支持的最高Java Project Facet版本限制为11,即使单独安装了Java 17基础支持插件,也没有同步更新Tomcat适配器的版本匹配规则,因此Java 17 facet的项目会被判定为和Tomcat 9不兼容。
操作步骤
- 第一步:更新Tomcat运行时JRE配置
打开Eclipse首选项,依次进入「Server」-「Runtime Environments」,选中已配置的Tomcat 9.0.54运行时,点击「Edit」,将运行时关联的JRE切换为Java 17版本,点击「Finish」保存配置。 - 第二步:修改facet匹配规则配置
进入Eclipse工作空间根目录,打开.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.common.project.facet.core.prefs文件,在末尾添加一行配置:org.eclipse.jst.common.project.facet.core.ALLOW_JAVA_VERSION_FOR_TOMCAT_9=17 - 第三步:刷新项目配置
右键点击目标Web项目,若为Maven/Gradle项目则执行对应更新项目配置操作,普通项目直接点击「Refresh」刷新,重新打开项目的Project Facet配置页,确认Java版本为17、Dynamic Web Module版本不低于3.1。 - 第四步:重启Eclipse验证
完全关闭Eclipse后重新启动,即可正常将Java 17 facet的Web项目添加到Tomcat 9服务器中。
备选方案
如果上述配置修改后仍不生效,可在Eclipse Marketplace中搜索Web Tools Platform,将WTP组件更新到2021-09对应的最新补丁版本,该版本已默认修复Tomcat 9与Java 17 facet的匹配规则问题。
注意事项
Tomcat 9从9.0.45版本开始正式支持Java 17运行,你使用的9.0.54版本无需额外调整Tomcat本身的配置即可兼容Java 17项目。
内容的提问来源于stack exchange,提问作者agedio
相关产品推荐
相关产品推荐

