[英]cglib compiler jdk compliance
我在同事的盒子上遇到一个奇怪的错误。 CGLib正在为春季AOP日志记录自动代理服务类,并且在运行时它会在cglib代理类的fastclass上显示“未解决的编译错误:必须重写超类方法”。
在令人反感的类中,我在实现接口时使用@override批注,并且我知道jdk 1.6支持此功能,但1.5不支持。 CGLib正在自动代理该实现类。
但是,它在我使用jdk_1.6_17的盒子上工作正常,但在他使用jdk_1.6_10的盒子上工作正常。
但是,他可以使用使用相同jdk的maven正确编译项目。 删除@Override批注可修复运行时cglib错误,但这很奇怪吧?
cglib使用什么编译器进行自动代理,这可能是jdk_1.6_10中的错误,还是我遗漏了其他东西?
使用spring 3.0.4,jboss 5.10,spring security 3.0.3
基本上,该类在spring-security中实现AuthenticationUserDetailsService。
令人反感的方法签名:
@Override
public UserDetails loadUserDetails(Authentication auth) throws UsernameNotFoundException;
UserDetails是spring-security接口,Authentication也是如此。
好,知道了。 我已经明确地将cglib 2.2引入pom.xml,而spring-flex引入了2005年的2.1_03。由于某种原因,我的包装盒最终使用了新包装,而我的同事最终使用了旧包装。
有谁知道为什么要先加载特定的文件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.