启动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与jdk版本匹配就一定不会问题,产生这个问题是我启动activiti-app时发生的,当时我的tomcat是9,JDK是11后来又换成17,按理说不会出现问题,版本是匹配的,但还是报错,可能的原因是activiti-app是用的Activiti6.0.0,该项目用的jar包是jdk8做的,最后换成jdk8才没有报错,顺利的启动了项目。文章来源:https://www.toymoban.com/news/detail-812152.html
我是时生,一个正在努力的小白。欢迎批评,欢迎指正,欢迎共享。 如果这篇文章对你有帮助,麻烦点个赞呗!文章来源地址https://www.toymoban.com/news/detail-812152.html
到了这里,关于Tomcat报错:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!