[英]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.