gpt4 book ai didi

classloader - 通过转换为欠类型的 ClassCastException

转载 作者:行者123 更新时间:2023-12-02 04:55:18 26 4
gpt4 key购买 nike

org.dozer.BeanFactory.createBean(Object, Class<?>, String) 的实现中我尝试将对象转换为它的类型。如果我部署我所有的包,即关闭并启动所有包,我得到一个 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 或 Gradle 。
  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/

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