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

无法运行Java EE动态Web项目:环境兼容问题求助

解决JDK10与Tomcat兼容性问题及Eclipse运行环境配置错误

我来帮你一步步解决这个问题——你遇到的核心问题是:虽然把Eclipse的编译级别改成了1.8,但运行项目时实际调用的JVM还是JDK10,而且Tomcat服务器的配置也没切换到JRE8,所以才会重复出现-Djava.endorsed.dirs的报错。下面是具体的修复步骤:

1. 配置Eclipse默认JRE为JRE8

  • 打开Eclipse,进入 Window > Preferences > Java > Installed JREs
  • 检查列表中是否有JRE8的条目:
    • 如果没有,点击Add,选择Standard VM,找到你安装JRE8的目录(Antergos下通常路径类似/usr/lib/jvm/java-8-openjdk/),完成添加
    • 勾选JRE8,点击Apply and Close将其设为默认JRE

2. 为Tomcat8指定JRE8运行环境

  • 进入 Window > Preferences > Server > Runtime Environments
  • 找到你配置的Tomcat8实例,点击Edit
  • 在JRE下拉菜单中选择刚才添加的JRE8,保存配置

3. 修正项目的构建路径与运行环境

  • 右键你的Dynamic Web Project,选择Properties > Java Build Path > Libraries
  • 查看JRE System Library:
    • 如果指向的是JDK10,点击Edit,选择Workspace default JRE (jre1.8.x)或手动指定JRE8
  • 切换到Project Facets标签:
    • 确保Java版本设置为1.8,Dynamic Web Module版本与Tomcat8匹配(Tomcat8对应3.1版本)

4. 清理Tomcat启动时的无效VM参数

  • 打开Eclipse的Servers视图,右键你的Tomcat8服务器,选择Open
  • 点击Open Launch Configuration,切换到Arguments标签
  • 检查VM arguments中是否存在-Djava.endorsed.dirs=xxx的参数,若有直接删除(Tomcat8在JDK8环境下不需要该参数)

5. 清理并重新部署项目

  • 右键项目,选择Project > Clean,清理项目编译文件
  • 右键Tomcat服务器,选择Clean Tomcat Work Directory,清除旧的部署缓存
  • 重新启动Tomcat并运行项目

补充说明

你之前修改编译器版本无效的原因是:编译器级别仅控制代码的语法兼容性,而项目实际运行时依赖的是JRE运行环境和服务器配置的JVM,这两处才是决定启动时使用哪个Java版本的关键。

内容的提问来源于stack exchange,提问作者Abdulrahman Hassoun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:54:53