Соответствие JDK компилятора cglib - PullRequest
1 голос
/ 17 ноября 2010

Я получаю странную ошибку на коробке коллеги.CGLib автоматически проксирует сервисный класс для ведения журнала Spring AOP, и во время выполнения он говорит: «неразрешенная ошибка компиляции: необходимо переопределить метод суперкласса» в классе fastclass с помощью прокси-класса cglib.

В классе-нарушителе I 'Я использую аннотации @override, когда я реализую интерфейс, и я знаю, что он поддерживается в jdk 1.6, но не 1.5. CGLib автоматически проксирует этот класс реализации.

Тем не менее, он отлично работает на моем компьютере с jdk_1.6_17, но не на его с jdk_1.6_10.

Однако он может правильно скомпилировать проект, используя maven, который использует тот же jdk. Удаление аннотации @Override исправляет ошибку cglib времени выполнения, но это странно, верно?

Какой компилятор использует cglib для своего автоматического проксирования, и может ли это быть ошибкой в ​​jdk_1.6_10 или что-то еще мне не хватает?

Использование Spring 3.0.4,jboss 5.10, Spring Security 3.0.3

В основном, класс реализует AuthenticationUserDetailsService в Spring-Security.

Tподпись оскорбительного метода:

@Override
public UserDetails loadUserDetails(Authentication auth) throws UsernameNotFoundException;

UserDetails - это интерфейс безопасности Spring, как и аутентификация.

1 Ответ

0 голосов
/ 17 ноября 2010

Хорошо, разобрался.Я ввел в cglib 2.2 в pom.xml файл explicity, а в Spring-flex - 2.1_03, то есть с 2005 года. По какой-то причине моя коробка закончилась использованием новой, а мой коллега - старой.

Кто-нибудь знает, почему конкретный загружается первым?

...