オブジェクトのプライベート フィールドの名前を取得しようとしています。パッケージのパブリック フィールドに同じポイント カットを使用すると、正しく機能します。私のアスペクトは特権に設定されています。クラスのオブジェクトが更新されるフィールドが必要です。ポイントカット:
pointcut priv(Object v): target (v)&& !(call(new(..))) && set(private * *.*)
アドバイス:
after(Object v): priv(v)
ポイントカット例外内のこの行で例外が発生します。
Object dt = dts.getDeclaringType().getField(dts.getName());