使用 Java 9 和 Java 10 从 Eclipse 上的 Tomcat 中删除 java.endorsed.dirs

removing java.endorsed.dirs from Tomcat on Eclipse with Java 9 and Java 10

我在 IDE 中使用 Eclipse 4.7.3a 和 Tomcat 9.0.4。我从 Java 8 升级到 Java 10。我将 JAVA_HOME 更改为指向 JDK 10 安装。我进入 Eclipse 并创建了一个新的 JDK 安装 JRE 指向 Java 10 JDK,并选择了它。我重建了我的项目,并尝试启动我拥有的 Tomcat 服务器。它说:

-Djava.endorsed.dirs=C:\bin\tomcat\endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.

我四处寻找,发现在 Eclipse 的 Tomcat 启动配置中,在 Arguments 选项卡下,有以下 VM 参数:

-Dcatalina.base="I:\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp1" -Dcatalina.home="C:\bin\tomcat" -Dwtp.deploy="I:\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps" -Djava.endorsed.dirs="C:\bin\tomcat\endorsed"

我删除了最后一部分,-Djava.endorsed.dirs="C:\bin\tomcat\endorsed",然后点击应用,但没有更改 "stick";当我回到那个对话框时,值还在,我仍然不能 运行 Tomcat.

如何从 Eclipse Tomcat 配置中删除 java.endorsed.dirs 系统 属性?

更好的是,我怎样才能完全避免这个问题? Eclipse 和 Tomcat 是否已为 Java 9+ 做好准备? Tomcat 9 的较新版本会解决这个问题吗?我应该删除并重新添加 Eclipse 服务器吗?我怎样才能找到问题的根源?

我也有这个 problem before and but after updating WTP 最新版本 (3.9.5) 的插件,它甚至不包含在最新的 Eclipse (Oxygen.3a) 中以解决问题。

对我来说,即使在最新的 Eclipse IDE 2019-12R 和 eclipse web 工具平台版本 3.16 运行 AdoptOpenJDK jdk-11.0.5.10-hotspot 中,这种情况仍然存在。

我按照 OP 的要求做了,在 Tomcat 的 VM 参数下的参数选项卡中找到了 -Djava.endorsed.dirs。通过右键单击您的项目到达那里,select 运行 As -> 运行 Configurations... 然后,搜索 tomcat。在我的例子中,我单击了 'Tomcat v9.0 Server at localhost',select 编辑了参数选项卡,并通过在 'VM arguments' 文本框中向下滚动找到了有问题的条目。我删除了参数及其引用路径。我重新启动了 Eclipse,它似乎卡住了。