由于catalina.sh中的默认“java.endorned.dirs”选项,无法用Java9启动基于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.
有办法解决这个问题吗?
8条答案
按热度按时间htrmnn0y1#
在我的例子中,为了解决tomcat不运行的问题,我所做的是将tomcat(版本7)设置为较低的java版本(例如java8)。
然后,在startup.sh、shutdown.sh和catalina.sh中,我添加了以下内容:
0qx6xfy62#
你得修改剧本
bin/catalina.sh
为了让它工作。像这样的台词很多
bin/catalina.sh
:只需删除其中的第二行(与
-Djava.endorsed.dirs
)在每一种情况下,你都应该重操旧业。我正在研究改进这些脚本,以便
-Djava.endorsed.dirs
当值为空时,不向jvm提供(如果您使用的是java9,则应该是这种情况)。更新2017-11-06
看起来r1810284应该可以修复
endorsed.dirs
问题。希望这个补丁包含在tomcat7.0.83中(或者下一个7.0.x版本通过的任何版本)。更新2018-03-07
ApacheTomcat7.0.x的第一个官方版本包含了这个补丁,是ApacheTomcat7.0.84,在2018年1月24日投票稳定。
js5cn81o3#
在运行配置->参数->虚拟机参数中尝试删除
-djava.赞同.Drs=“C:\程序文件\ Apache软件基金会\ Tomcat 8.5 \”
zour9fqk4#
如果您有一个使用早于java9的jre的tomcat运行时,并使用该运行时创建和运行一个服务器,就会出现这种症状。然后编辑tomcat运行时以使用java9并尝试启动服务器。当服务器使用早期的jre运行时,会在启动配置中添加“-djava.endorned.dirs”参数。在切换到Java9之后运行服务器时,“-djava.endorned.dirs”参数被视为用户添加的vm参数并保留,从而导致错误。
最简单的修复方法是重新创建服务器。您也可以在servers视图中右键单击服务器并选择open。在打开的窗口中,单击“常规”部分底部的“打开启动配置”链接。在打开的对话框中,切换到arguments选项卡,在“vm arguments”部分中,编辑“-djava.endorned.dirs”参数并单击ok。现在应该可以启动服务器了。
mrzz3bfm5#
上面的问题在后来的eclipse版本中得到了解决,但不幸的是,它在java10版本中再次出现。这是我的研究:最初,我安装了Java10和EclipseOxy3,这给了我和你在问题中提到的相同的错误。但是,当我安装Java9并将ApacheTomcat运行时服务器指向它时,错误就消失了。
tvz2xvvm6#
要修复这个bug,您需要将eclipseweb工具平台(wtp)安装/更新到3.9.4或更高版本。
选择帮助>安装新软件。。。选择或添加以下url:http://download.eclipse.org/webtools/repository/oxygen 检查web工具平台(wtp)3.9.4选择“下一步”并按照说明操作
在eclipse中重新配置tomcat。
kh212irz7#
你必须移除-
"-Djava.endorsed.dirs="/home/ttlaptop/Downloads/apache-tomcat-7.0.105/endorsed"
从runconfigurations,然后tomcat将启动4urapxun8#
我不能肯定,但是。。
第1步-->它对我有效,我只是从eclipse中删除服务器
步骤2-->重新启动并再次添加服务器(tomcat 7)本地主机上的tomcat v7.0服务器