无法使用java 9启动基于tomcat的应用程序,因为catalina.sh中默认的“catalina.sh”选项。
-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.这附近有工作吗?
发布于 2017-08-28 14:12:50
您必须破解脚本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),您就会重新开始工作。
我正在研究如何改进这些脚本,以便在值为空时不向JVM提供-Djava.endorsed.dirs (如果您使用的是Java9,情况应该是这样)。
更新2017-11-06
看来r1810284应该修复endorsed.dirs问题。预期此修补程序将包含在Tomcat 7.0.83中(或任何下一个7.0.x版本通过表决的版本)。
更新2018-03-07
Apache 7.0.x的第一个官方版本(包括此修复)是Apache 7.0.84,2018-01-24投票稳定。
发布于 2018-03-29 16:18:51
上面的问题在Eclipse的后期版本中得到了修正,但不幸的是,随着Java 10的发布,它再次出现。下面是我的研究:最初,我安装了Java 10和Eclipse氧气3,这给了我与您在问题中提到的相同的错误。但是,当我安装了Java 9并将Apache运行时服务器指向它时,错误就消失了。
发布于 2018-02-16 08:56:25
在我的例子中,为了解决Tomcat不运行的问题,我所做的就是用一个更低的Java版本(例如Java 8)来设置Tomcat (version 7)。
然后,在startup.sh、shutdown.sh和catalina.sh中添加了以下内容:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`;https://stackoverflow.com/questions/45917401
复制相似问题