Tomcat报错:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map

启动tomcat时会报如下错误,原因是tomcat与jdk的版本不匹配。当然要因情况而异,给大家一个解决方法的思路

19-Nov-2023 20:14:26.139 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesObjectStreamClassCaches 无法清除web应用程序[activiti-admin]的ObjectStreamClass$缓存中的软引用
        java.lang.ClassCastException: class java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map are in module java.base of loader 'bootstrap')
                at org.apache.catalina.loader.WebappClassLoaderBase.clearCache(WebappClassLoaderBase.java:2268)
                at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesObjectStreamClassCaches(WebappClassLoaderBase.java:2255)
                at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1627)
                at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1555)
                at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:449)
                at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
                at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5431)
                at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:187)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
         

这是从tomcat官方文档中找到对应的jdk版本
Tomcat报错:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map_第1张图片

  • 后记

并不是tomcat与jdk版本匹配就一定不会问题,产生这个问题是我启动activiti-app时发生的,当时我的tomcat是9,JDK是11后来又换成17,按理说不会出现问题,版本是匹配的,但还是报错,可能的原因是activiti-app是用的Activiti6.0.0,该项目用的jar包是jdk8做的,最后换成jdk8才没有报错,顺利的启动了项目。

我是时生,一个正在努力的小白。欢迎批评,欢迎指正,欢迎共享。 如果这篇文章对你有帮助,麻烦点个赞呗!

你可能感兴趣的:(Activiti,java,java,tomcat,开发语言)