Mac Eclipse Oxygen中Tomcat 9搭配JDK 10无法启动求助
解决Tomcat 9 + JDK 10在Eclipse中启动的
java.endorsed.dirs错误 这个问题我之前踩过坑!核心原因很明确:JDK 9及以后的版本已经彻底移除了-Djava.endorsed.dirs这个参数,而Tomcat 9的默认配置里还保留着这个废弃的参数,用JDK10启动时就会触发虚拟机创建失败的错误。虽然Tomcat 9确实宣称支持JDK8及以上,但早期版本的Tomcat对JDK9+的适配没跟上,才导致了这个冲突。
下面是几个可行的解决方法,按优先级推荐:
方法1:修改Eclipse中Tomcat的启动参数
这是最直接的方案,毕竟你是在Eclipse里启动Tomcat:
- 在Eclipse的
Servers视图中,找到你的Tomcat 9服务器,右键选择Open - 在打开的配置页面,点击右上角的
Open launch configuration - 切换到
Arguments标签页,在VM arguments区域找到包含-Djava.endorsed.dirs=/Users/../software/apache-tomcat-9.0.8/endorsed的那一行,直接删除它 - 保存配置,重新启动Tomcat,应该就能正常运行了
方法2:修改Tomcat全局配置文件
如果你偶尔也会直接启动Tomcat(不通过Eclipse),可以修改Tomcat安装目录下的全局配置:
- 找到Tomcat安装目录的
bin文件夹,打开catalina.sh文件 - 搜索
JAVA_ENDORSED_DIRS相关的配置行,把它们注释掉(在行前加#)或者直接删除 - 保存文件后,无论是Eclipse还是直接启动Tomcat,都不会再加载这个废弃参数
方法3:降级到JDK 8(可选)
如果不想折腾配置,直接降级到JDK8也是个稳妥的选择——毕竟你在Linux上用这个组合能正常运行,而且JDK8目前还是企业级应用的主流版本,兼容性拉满。
另外可以检查下Eclipse的Java Build Path和服务器的Runtime Environment,确保配置的JDK路径和你~/.bash_profile里的JAVA_HOME一致,避免出现路径不匹配的隐性问题。
内容的提问来源于stack exchange,提问作者user1024855
相关产品推荐
相关产品推荐

