[英]Tomcat 7 & 8 do not start under YOSEMITE and Java JDK SE 8 - missing ExtendedPlatformComponent
也许有人以前有过(可能已经解决了)
在使用Yosemite的macbook pro上,我通过JDK安装了Java 8“ 1.8.0_40-ea”。
我的$JAVA_HOME
是/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
然后,我从http://tomcat.apache.org/download-80.cgi下载了一个tomcat 8内核。启动此tomcat 8时,出现以下Java异常-参见下文。
使用此Java 8,我的较早的tomcat 7也会引发相同的异常。
似乎sun/management/ExtendedPlatformComponent
不是tomcat 8或java 8的一部分
方法ExtendedPlatformComponent
应该在rt.jar
文件中,但不是。 这似乎是针对Mac的JDK SE 8中的错误:(
有人对我有提示吗? 我无法弄清楚我们的错在哪里...我只是将该类添加到rt.jar
但是甚至找不到该类...
PS: The exception on start (/bin/startup.sh):
22-Nov-2014 18:43:02.218 SEVERE [main]
org.apache.tomcat.util.digester.Digester.startElement Begin event threw
error * java.lang.NoClassDefFoundError: sun/management/ExtendedPlatformComponent*
at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:494)
at org.apache.tomcat.util.modeler.Registry.getMBeanServer(Registry.java:443)
at ...
jre / jdk8(1.8.0_40)的更新40 Early Access版本似乎存在问题。 与jre / jdk8版本的更新20相比,您将看到以下代码行已添加到getPlatfromMBeanServer中:
for (final PlatformManagedObject o :
ExtendedPlatformComponent.getMXBeans()) {
if (!platformMBeanServer.isRegistered(o.getObjectName())) {
addMXBean(platformMBeanServer, o);
}
但是,如果您查看jre随附的rt.jar,则找不到此新引入的类(ExtendedPlatformComponent)。
与平台无关,所有JAVA_VERSION =“ 1.8.0_40” EA版本中似乎都存在此问题。
您的补救措施是移回稳定版本。 最新的稳定发行版似乎是Java SE 8u25。
我遇到了同样的问题,升级到1.8.0_40 ea build 20(于2014年12月31日发布),并修复了该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.