spring4.1 jrebel debug启动出错?
spring4.1 jrebel 集成时出现如下错误。
java.lang.VerifyError: (class: org/springframework/context/annotation/ConfigurationClassEnhancer$BeanMethodInterceptor, method: intercept signature: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object;) Incompatible argument to function at org.springframework.context.annotation.ConfigurationClassEnhancer.<clinit>(ConfigurationClassEnhancer.java:61)
错误显示 ConfigurationClassEnhancer$BeanMethodInterceptor 方法 intercept 有问题。
注意这个
method: intercept signature: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object;)源码中的方法
@Override public Object intercept(Object enhancedConfigInstance, Method beanMethod, Object[] beanMethodArgs,MethodProxy cglibMethodProxy) throws Throwable {
所以我将源代码提取出来,添加了如下方法
public Object intercept(Object[] enhancedConfigInstance, Method[] beanMethod, Object[] beanMethodArgs,MethodProxy[] cglibMethodProxy) throws Throwable { return null; }
但引起这个问题的原因是什么,还是不知道。而且这个解决有点不妥。因为重新打包spring-context.jar了。而且看来也不是spring本身的问题。因为不用jrebel是不会错误的。
所以想来是不是jrebel中对spring的支持是不是有什么问题。又或者是我本地环境中的jrebel有问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
楼上回答的对哦。
JRebel 5.6.3 (201409050929) 应该是最新的。难道还有其他的什么配置不成
回复
你是怎么安装的,我用idea插件可以的,插件和jrebel文件有没有同时更新
回复
我也是 idea , 我只用junit 测试的话 new ConfigurationClassEnhancer() ,用jrebel debug 就会出错。普通 debug 就没问题。
请用新版的jrebel,5.5.0以上才支持spring4,最好用最新版的