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

这篇具有很好参考价值的文章主要介绍了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版本
java.lang.classcastexception: class java.io.objectstreamclass$caches$1 canno,Activiti,java,java,tomcat,开发语言

  • 后记

并不是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

到了这里,关于Tomcat报错:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType解决方案

    异常:java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType 类型转换异常 主要是因为泛型使用不规范导致的错误,在MVP抽取中,我们需要懂得许多关联在一起的流程! 意思是Class类型不能转换成ParameterizedType类型,多出现于数据解析,泛型使用。先写的泛型,导致传回来的是

    2024年02月15日
    浏览(68)
  • 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的

    已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的正确解决方法,亲测有效!!! java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String的错误通常发

    2024年01月21日
    浏览(53)
  • java.math.BigDecimal cannot be cast to java.lang.String 报错

    “java.math.BigDecimal cannot be cast to java.lang.String”错误信息表示您正在尝试将BigDecimal对象转换为String。但是,BigDecimal和String是两个不同的类型,它们不能直接相互转换。 BigDecimal是Java“math”包中的一个类,用于进行精确的小数运算。它可以处理任意位数的小数,包括小数部分。

    2024年02月10日
    浏览(47)
  • 【Java】“com.alibaba.fastjson.JSONObject cannot be cast to“报错问题

    报错如下: 通过 debug 断点可以看到,这里拿到虽然是 List,但是里面的对象还是一个 JSONObject,并不是需要的 DTO 类,所有导致了后面的报错。 查到问题根源,只要把这里的对象转化为 DTO 类就行了,就可以避免报错。 增加代码: 我的json \\\"[{},{}]\\\" 已经存为字符串所以改写这样

    2024年02月13日
    浏览(55)
  • SpringBoot报错java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause

    最近在做系统升级,原本的版本为 SpringBoot2.1.8RELEASE ,升级后版本为 SpringBoot2.7.0 升级后原代码报错java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause。 经检查,原代码部分数据使用Map接收数据库返回数据,使用Map.get()取出 Object 对象后强制转化为了 Date 类型。 升级

    2023年04月08日
    浏览(52)
  • 从数据库中取时间值,报错:java.sql.Timestamp cannot be cast to java.lang.Long

    1、问题描述 将数据库中的查询到的 timestamp类型的数据,转成 Long类型报错。 2、解决方案 因为 java.sql.Timestamp 是 java.util.Date 的子类; 所以,直接 将 java.sql.Timestamp 转换为 java.util.Date 类型 即可。 或者将数据转成String类型输出: DateUtil 工具类如下:

    2024年02月15日
    浏览(47)
  • java.lang.String cannot be cast to java.lang.Integer异常

    在java中无法直接将String类型强制转换为Integer类型。 Java中的String和Integer是两种不同的数据类型,它们之间不能直接进行强制类型转换。这主要是因为它们在底层的表示方式和数据结构上有很大的差别。 String是一个不可变的字符序列,用于表示文本数据。它是通过字符数组来

    2024年02月05日
    浏览(43)
  • 全网详细解决java.lang.ClassCastException: xxx类型 cannot be cast to xxx类型

    xxx类型 可以为如下类型: 我们自定义的类: Student 类 Project 类 Person 类 …等等 基本变量的包装类: int 的包装类 Integer long 的包装类 Long float 的包装类 Float …等等 字符串 String 类型 今天在写如下代码:

    2024年02月07日
    浏览(63)
  • 使用ResponseBodyAdvice返回值为String出现cannot be cast to java.lang.String异常

    背景 由于项目中为了全局返回统一的JSON格式,使用ResponseBodyAdvice进行拦截,拦截的时候会将返回的信息统一一个对象返回到前端。但是有的同事将一个String的响应对象返回,结果报错 com.example.demoweb.config.ApiResponse cannot be cast to java.lang.String ResponseBodyAdvice 拦截器实现 ServletR

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包