java.lang.ClassNotFoundException sun.misc.GC

11 java eclipse tomcat8 java-10 ubuntu-18.04

版本 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)
Run Code Online (Sandbox Code Playgroud)

Mic*_*rry 12

Tomcat 8引用sun.misc.GC,已在Java 9中删除 - 因此您得到错误.

如果可能,请不要告诉我减少版本,因为我喜欢使用最新技术.

我会告诉你做相反的事情!你应该使用Tomcat 9,而不是Tomcat 8.然后错误就会消失.

  • 升级到 tomcat 9 为我解决了这个问题。只需确保您拥有所有这些:本地安装的 openjdk 11、项目 facet java 11、从 apache 下载的最新 tomcat 9(在某些包 repos 中,有一个错误版本仍然引用 sun.misc.GC) (3认同)