首页 > 解决方案 > 使用 JAVA 11 将 Spring 4 升级到 5.1.3 会生成运行时错误

问题描述

在使用 JAVA 11 将 Spring 升级到 1.5.3 时,我遇到了运行时异常,例如,

Caused by: org.springframework.aop.framework.AopConfigException: 
    Unexpected AOP exception; nested exception is org.springframework.aop.framework.AopConfigException:
    Unable to instantiate proxy using Objenesis, and regular proxy instantiation via default constructor fails as well;
    nested exception is java.lang.NoSuchMethodException: ClassABC$$EnhancerBySpringCGLIB$$488f8dbe.<init>()
at deployment.abc.ear//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:214)
at deployment.abc.ear//org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
at deployment.abc.ear//org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:473)
at deployment.abc.ear//org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:352)
at deployment.abc.ear//org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:301)
at deployment.abc.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:434)
at deployment.abc.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1749)
at deployment.abc.ear//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
... 38 more
Caused by: org.springframework.aop.framework.AopConfigException:
    Unable to instantiate proxy using Objenesis, and regular proxy instantiation via default constructor fails as well;
    nested exception is java.lang.NoSuchMethodException: ClassABC$$EnhancerBySpringCGLIB$$488f8dbe.<init>()
at deployment.abc.ear//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:82)
at deployment.abc.ear//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:205)
... 45 more
Caused by: java.lang.NoSuchMethodException: ClassABC$$EnhancerBySpringCGLIB$$488f8dbe.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3350)
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2554)
at deployment.abc.ear//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:76)
... 46 more

我也更新了spring-aop to 1.5.3,但仍然出现这些错误。甚至删除.m2目录,所以没有依赖版本不匹配的问题,但没有运气。

创建代理似乎存在问题。我在某些类中添加了默认构造函数,但是整个项目中的类太多,并且一一更改所有这些都令人头疼。

有谁知道,可能是什么问题?

标签: javaspringspring-aopjava-11

解决方案


推荐阅读