同僚のボックスで奇妙なエラーが発生します。CGLib は、Spring 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 はスプリング セキュリティ インターフェイスであり、Authentication も同様です。