You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Native Image启动报错:CGLIB运行时增强不支持问题求助

解决Native Image下Spring CGLIB增强报错问题

核心解决方案:关闭配置类的CGLIB代理

Spring的@Configuration类默认会通过CGLIB生成动态代理,用来拦截@Bean方法的内部调用,但Native Image不支持运行时CGLIB类生成。直接给你的配置类添加proxyBeanMethods = false即可关闭这个代理逻辑:

@Configuration(proxyBeanMethods = false)
@ComponentScan(basePackageClasses = Main.class)
public class Config {
}

这个参数会告诉Spring,不需要为该配置类生成代理,所有@Bean方法的调用都会直接执行原始方法,不会被Spring拦截。这完全适配Native Image的运行环境,不会触发任何运行时类生成操作。

其他需要检查的场景

如果你还有其他触发CGLIB增强的逻辑,也需要针对性处理:

  • 其他@Configuration类同样添加proxyBeanMethods = false
  • 对于@Transactional、@Cacheable这类需要代理的注解,优先使用JDK动态代理(确保目标类实现了接口),避免CGLIB代理;如果必须用CGLIB,需要提前预生成代理类并放到类路径中(不过这种方式比较繁琐,优先推荐JDK代理)
  • 检查是否有自定义AOP切面导致的CGLIB增强,同样可以切换为JDK代理或者调整切面逻辑

内容的提问来源于stack exchange,提问作者Martin Mucha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:15:31