2

アプリケーションでリバース エンジニアリングに maintainJ を使用すると、次のエラーが発生します。修正にご協力ください

---- AspectJ のプロパティ --- 2011 年 3 月 15 日火曜日 15:31:04 GMT にビルドされた AspectJ コンパイラ 1.6.11 ---- ダンプのプロパティ --- ダンプ ファイル: ajcore.20120507.210546.187.txt ダンプの理由: java.lang.NullPointerException 例外でダンプ: true 終了条件でダンプ: 中止 ---- 例外情報 --- java.lang.NullPointerException at org.aspectj.weaver.bcel.LazyMethodGen.remap(LazyMethodGen.java:1415) at org.aspectj.weaver.bcel.LazyMethodGen.addExceptionHandlers(LazyMethodGen.java:1269) ありがとうございます。

4

1 に答える 1

0

表示されるエラーは、 MaintainJ ブログで説明されているものと似ています。

基本的に、問題を引き起こすクラスをスコープから除外する必要があります。典型的な CGLIB 例外は次のとおりです。

SEVERE: xxx/yyy/zzz/SampleClassABC$$FastClassByCGLIB$$2eb78e34
java.lang.NullPointerException
    at org.aspectj.weaver.bcel.LazyMethodGen.remap(LazyMethodGen.java:1415)
    at org.aspectj.weaver.bcel.LazyMethodGen.addExceptionHandlers(LazyMethodGen.java:1269)

以下のように、aop.xml ファイルでこのクラスを除外できます。

<exclude within="xxx.yyy.zzz.SampleClassABC*ByCGLIB*"/>

同様の方法で問題の原因となっているクラスをすべて除外し、サーバーを再起動します。基本的に、CGLIB で生成されたプロキシ クラスを AspectJ インストルメンテーションから除外しています。

于 2012-05-14T15:35:09.087 に答える