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

安装Eclipse WTP后出现-Djava.endorsed.dirs不支持问题如何解决?

我之前在使用Tomcat 9搭配WTP开发时,也碰到过完全一样的问题!咱们一步步来解决:

问题根源拆解

首先说下这两个报错的关联:

  • “无法创建Java虚拟机”大概率是因为JVM启动参数里存在过时且不被当前JDK支持的配置,加上可能内存参数设置不合理,导致启动失败。
  • 控制台里的-Djava.endorsed.dirs=...报错是核心原因:Java 9及以后的版本已经彻底废弃了endorsed.dirs这个参数,转而用模块化的升级机制,但WTP默认给Tomcat配置了这个过时参数,直接触发了启动失败。
具体解决步骤

1. 修复Eclipse中Tomcat的启动配置

这是最直接的解决方式:

  • 打开Eclipse的「Servers」视图,找到你的Tomcat 9服务器实例,右键选择「Open」。
  • 在打开的配置页面里,找到并点击「Open Launch Configuration」(部分版本可能显示为「Launch Configuration」)。
  • 切换到「Arguments」标签页,在「VM arguments」区域里,找到并删除整行-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 9.0\endorsed。
  • 顺便检查下内存参数,比如可以把-Xmx设置为合理值(比如-Xmx512m或-Xmx1024m),避免内存不足导致的虚拟机创建失败。
  • 保存配置,重启Tomcat试试。

2. 备份方案:修改Tomcat全局配置

如果上面的方法没生效,直接修改Tomcat的配置文件:

  • 找到Tomcat安装目录下的conf/catalina.properties文件。
  • 找到java.endorsed.dirs=${catalina.base}/endorsed,${catalina.home}/endorsed这一行,在前面加#注释掉它。
  • 保存文件后,重启Eclipse和Tomcat。

3. 确认JDK与Tomcat版本兼容

Tomcat 9.0官方推荐的JDK版本是Java 8到Java 11,如果你用的是Java 12及以上版本,可能还会有其他兼容性问题。如果条件允许,建议切换到Java 11;如果必须用高版本JDK,可以考虑升级Tomcat到10.x(注意Tomcat 10.x用的是Jakarta EE规范,和之前的Java EE API有包名变化,需要调整项目依赖)。

最后提醒

修改完配置后,记得完全关闭Eclipse和Tomcat进程再重新启动,确保新配置生效。我当时就是改完没重启,白折腾了半天😂

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:33:05