news 2026/4/18 5:38:39

Spring Boot + LangChain4j 报错:Bean 类型不匹配的解决办法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot + LangChain4j 报错:Bean 类型不匹配的解决办法

在使用 Spring Boot + LangChain4j 开发 AI 应用时,在 Service 工厂中注入如下两个Bean:

@ResourceprivateStreamingChatModelopenAiStreamingChatModel;@ResourceprivateStreamingChatModelreasoningStreamingChatModel;

一切看起来都很合理,但启动时就报如下错误❌:

Bean named'openAiStreamingChatModel'is expected to be oftype'dev.langchain4j.model.chat.StreamingChatModel'but was actually oftype'dev.langchain4j.model.openai.OpenAiStreamingChatModel'

最诡异的是OpenAiStreamingChatModel明明是StreamingChatModel的子类,期望类型和实际类型“看起来完全兼容”,但还是报错!

原因分析

这个错误的根源,其实不是代码逻辑的问题,而是spring-boot-devtools的热部署机制导致的类加载冲突。

Spring Boot DevTools 为了实现快速重启,使用了两个类加载器。
一个是Base ClassLoader,主要负责加载Spring Boot 框架、第三方 jar(比如 langchain4j-core.jar);

另一个是Restart ClassLoader,主要负责加载自己的项目代码(比如src/main/java)。

默认情况下,DevTools 会把 所有非项目代码的 jar 放入 Base ClassLoader

但是!

LangChain4j 这类库,通过 Maven 引入,它其实是属于“第三方依赖”,理应由Base ClassLoader加载。

然而,在某些版本或配置下,DevTools 可能错误地将部分LangChain4j类交给了Restart ClassLoader

这样就造成同一个类,有两个身份,这样 JVM 认为这是两个完全无关的类。即使包名、类名、继承关系都对,也无法进行类型转换或赋值。

解决方案

1.在项目的如下目录中创建文件:

src/main/resources/META-INF/spring-devtools.properties

2.文件内容如下,主要目的是告诉 DevTools,这些 jar 属于基础类路径,统一用Base ClassLoader加载。

restart.include.langchain4j=/langchain4j-.*\.jar restart.include.openai=/openai-.*\.jar

3.重新运行,问题解决。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:28:39

P0951BA-0E FBP10处理器模块

P0951BA‑0E FBP10 处理器模块简介: P0951BA‑0E FBP10 处理器模块是用于工业自动化系统的核心运算单元,负责接收、处理和控制系统中各类输入输出信号,实现逻辑运算、数据处理和通讯任务。它在控制系统中承担主控角色,为复杂自动化…

作者头像 李华
网站建设 2026/4/17 21:08:59

未来TRO法律程序会变得更友好还是更严苛?

引言 过去几年,TRO已经从“偶发风险”变成跨境卖家的“高频事件”。无论是亚马逊、Temu、eBay还是速卖通,越来越多卖家发现,自己并未收到任何提前警告,账户资金却已经被冻结,店铺被限制,甚至多个平台同时受…

作者头像 李华
网站建设 2026/4/18 0:29:19

手写 Java 线程池:从状态转换到拒绝策略的极致实现

🚀 引言:为什么要手写线程池? 在日常开发中,我们习惯了 Executors.newFixedThreadPool() 或者直接 new ThreadPoolExecutor()。但你是否思考过: 为什么线程池能让线程“长生不老”而不被销毁?一个 int 变…

作者头像 李华
网站建设 2026/4/17 1:16:44

一文读懂亚马逊SIOC包装测试标准

亚马逊物流中,自有容器运输(SIOC)包装需通过专项测试保障商品完好。由ISTA与亚马逊联合制定的《ISTA 6-AMAZON.COM-SIOC标准》,是测试核心依据,2016年发布后始终是卖家合规的关键参考。该标准专为亚马逊配送的SIOC商品…

作者头像 李华
网站建设 2026/4/18 0:30:55

2026版最全面Java面试汇总(面试题+答案)

今年的行情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今,…

作者头像 李华
网站建设 2026/4/17 4:13:27

惊!IF持续下跌,中科院1区Top或将降为2区

🔥 🔥 🔥 🔥 《IEEE Transactions on Neural Networks and Learning Systems》由IEEE计算智能学会于 1990 年创刊,在神经网络、机器学习、深度学习及相关交叉领域享有极高的学术声誉和影响力。 值得注意的是&a…

作者头像 李华