gpt4 book ai didi

java - Tomcat 7 和 8 无法在 YOSEMITE 和 Java JDK SE 8 下启动 - 缺少 ExtendedPlatformComponent

转载 作者:行者123 更新时间:2023-11-28 22:42:15 26 4
gpt4 key购买 nike

也许有人以前确实遇到过这个问题(并且可能已经解决了)

在带有 Yosemite 的 mac book 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 文件中,但实际上不是。这似乎是 JDK SE 8 for mac 中的一个错误:(

有没有人给我一些提示?我不知道我们出了什么问题......我只是将该类添加到 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 早期访问版本似乎存在问题。与jre/jdk8 release update 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。

关于java - Tomcat 7 和 8 无法在 YOSEMITE 和 Java JDK SE 8 下启动 - 缺少 ExtendedPlatformComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27088960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com