gpt4 book ai didi

classloader - ClassCastException 通过强制转换为欠类型

转载 作者:行者123 更新时间:2023-12-02 21:53:59 39 4
gpt4 key购买 nike

org.dozer.BeanFactory.createBean(Object, Class<?>, String) 的实现中我尝试将对象转换为它的类型。如果我部署所有 bundle ,即关闭并启动所有 bundle ,我会收到 ClassCastException:

java.lang.ClassCastException: de.xxx.Configuration cannot be cast to de.xxx.Configuration

我怀疑 karaf 和/或 dozer 的类加载器有问题。这个类只在我的 jar 中存在一次,并且没有被修改。配置未实现可序列化,并且没有序列版本 ID。

如何避免这个异常?

亲切的问候

最佳答案

Spring devtools 是罪魁祸首。

在我的例子中,来自推土机映射的对象实例无法转换为相同类型的目标引用。

order.setPricingConfig(dozerBeanMapper.map(orderPricing, PricingConfig.class));

有两种解决方案

  1. 通过简单地注释掉 Maven 中的依赖关系来禁用 devtools 或梯度。
  2. 包括推土机 jar (根据您的具体情况提供其他任何东西) 通过 META-INF/spring-devtools.properties 如下所示,

restart.include.dozer=/dozer-5.5.1.jar

请注意,我使用的是 Intellij IDEA。

关于classloader - ClassCastException 通过强制转换为欠类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18101833/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com