Tomcat 7.0.73不适用于Java 9

由于catalina.sh中的默认“ java.endorsed.dirs”选项,因此无法使用Java 9启动基于tomcat的应用程序。

-Djava.endorsed.dirs=/usr/local/share/tomcat/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules. 

Error: Could not create the Java Virtual Machine.

Error: A fatal exception has occurred. Program will exit.

有没有解决的办法?

回答:

您必须修改脚本bin/catalina.sh才能使其正常工作。

中有很多这样的行bin/catalina.sh

  exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \

-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \

...

只需-Djava.endorsed.dirs在每种情况下删除其中的第二行(带有的行),您就应该重新营业。

我正在考虑改进这些脚本,以便-Djava.endorsed.dirs在该值为空时不将其提供给JVM(如果您使用的是Java 9,则应该是这种情况)。

看起来r1810284应该可以解决endorsed.dirs问题。预期此修补程序将包含在Tomcat

7.0.83中(或以后的7.0.x版本通过投票的任何版本)。

包含此修复程序的Apache tomcat 7.0.x的第一个正式版本是Apache Tomcat 7.0.84,投票定于2018年1月24日稳定。

以上是 Tomcat 7.0.73不适用于Java 9 的全部内容, 来源链接: utcz.com/qa/415252.html

回到顶部