You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Java 10环境下Apache Tomcat 9在Eclipse中启动失败,系统服务可正常运行

Java 10与Tomcat 9的兼容性及问题解决方案

首先明确:Apache Tomcat 9是支持Java 10的,Tomcat 9.0.x系列官方要求的最低Java版本是8,完全兼容Java 9、10等后续版本。你遇到的错误是因为Java 9及以上移除了endorsed.dirs这个系统参数,而Eclipse默认配置里还在传递这个参数导致的。

错误原因解析

Java 9引入了模块化系统(Project Jigsaw),移除了-Djava.endorsed.dirs这个参数,取而代之的是可升级模块(upgradable modules)的概念。而Eclipse在配置Tomcat启动时,默认会添加这个已废弃的参数,所以启动时就会抛出你看到的错误:

-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 9.0\endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradable modules

具体解决方案

方法1:修改Eclipse中Tomcat的启动配置

  • 打开Eclipse,找到Servers视图,右键点击你的Tomcat 9服务器实例,选择Open
  • 在打开的服务器配置页面,找到Open launch configuration(在页面底部的“General Information”区域)
  • 在弹出的“Edit Configuration”窗口中,切换到Arguments标签页
  • VM arguments输入框中,找到并删除包含-Djava.endorsed.dirs=...的那一行
  • 点击ApplyClose,然后重启Tomcat服务器即可

方法2:更新Tomcat的配置文件(可选,全局生效)

如果不想每次在Eclipse里单独修改,也可以直接调整Tomcat的全局配置:

  • 找到Tomcat安装目录下的conf/catalina.properties文件
  • 打开该文件,找到java.endorsed.dirs这一行,将其注释掉(在行首添加#
  • 保存文件后,回到Eclipse刷新服务器配置,再启动即可

额外提示

确保你的Eclipse版本是较新的(比如2018-09或更高版本),旧版本的Eclipse对Java 9+和Tomcat 9的兼容性可能存在缺陷,更新Eclipse可以避免更多类似的配置问题。

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

火山引擎 最新活动