您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Jenkins中遇到Spring错误“名为'x'的Bean必须为[y]类型,但实际上为[$ Proxy]类型”

在Jenkins中遇到Spring错误“名为'x'的Bean必须为[y]类型,但实际上为[$ Proxy]类型”

摘自上面的问题评论

你是否在Jenkins上运行Cobertura,Sonar或其他代码工具?请注意,mvn site也可能配置为在generate中包含Cobertura报告site

Cobertura的问题在于它执行相当繁重的字节码检测,包括添加一些自定义接口。当Spring启动时,它将为bean生成代理。如果bean具有至少一个接口,则它将使用标准Java代理。否则,它将尝试创建基于类的代理。

我猜在你的情况下,使用了cglib类代理,但是在Cobertura工具spring之后又回到了Java代理。这导致启动错误,因为依赖项注入期望类(或cglib子类)。

简而言之,强制使用cglib类代理,你会没事的:

<aop:config proxy-target-class="true"/>
Java 2022/1/1 18:16:41 有669人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶