web-dev-qa-db-ja.com

java.lang.ClassNotFoundException Sun.misc.GC

バージョン Java:10.0.1 Tomcat:8.0.36 Ubuntu:18.04(64ビット)Eclipse:Photon(64ビット)

エラー:Tomcatサーバーを実行すると、以下のエラーが見つかりました。私は最新のテクノロジーを使用するのが大好きなので、可能な場合はバージョンを減らすように言わないでください。

    SEVERE: Failed to trigger creation of the GC Daemon thread during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
Java.lang.ClassNotFoundException: Sun.misc.GC
at Java.base/Java.net.URLClassLoader.findClass(URLClassLoader.Java:466)
at Java.base/Java.lang.ClassLoader.loadClass(ClassLoader.Java:566)
at Java.base/Java.lang.ClassLoader.loadClass(ClassLoader.Java:499)
at Java.base/Java.lang.Class.forName0(Native Method)
at Java.base/Java.lang.Class.forName(Class.Java:291)
at org.Apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.Java:286)
at org.Apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.Java:95)
at org.Apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.Java:90)
at org.Apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.Java:394)
at org.Apache.catalina.util.LifecycleBase.init(LifecycleBase.Java:99)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:580)
at org.Apache.catalina.startup.Catalina.load(Catalina.Java:603)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.base/Java.lang.reflect.Method.invoke(Method.Java:564)
at org.Apache.catalina.startup.Bootstrap.load(Bootstrap.Java:310)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:484)
11
user9373603

Tomcat 8リファレンスSun.misc.GC、これはJava 9-で削除されたため、エラーが発生します。

私は最新のテクノロジーを使用するのが大好きなので、可能な場合はバージョンを減らすように言わないでください。

それでは反対のことをするように伝えます! Tomcat 8ではなくTomcat 9を使用する必要があります。エラーが表示されなくなります。

12
Michael Berry