首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 7.0.73不适用于java 9

Tomcat 7.0.73不适用于java 9
EN

Stack Overflow用户
提问于 2017-08-28 10:59:20
回答 8查看 32K关注 0票数 23

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

代码语言:javascript
复制
-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.

这附近有工作吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2017-08-28 14:12:50

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

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

代码语言:javascript
复制
  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投票稳定。

票数 29
EN

Stack Overflow用户

发布于 2018-03-29 16:18:51

上面的问题在Eclipse的后期版本中得到了修正,但不幸的是,随着Java 10的发布,它再次出现。下面是我的研究:最初,我安装了Java 10和Eclipse氧气3,这给了我与您在问题中提到的相同的错误。但是,当我安装了Java 9并将Apache运行时服务器指向它时,错误就消失了。

票数 4
EN

Stack Overflow用户

发布于 2018-02-16 08:56:25

在我的例子中,为了解决Tomcat不运行的问题,我所做的就是用一个更低的Java版本(例如Java 8)来设置Tomcat (version 7)。

然后,在startup.sh、shutdown.sh和catalina.sh中添加了以下内容:

代码语言:javascript
复制
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45917401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档