0

AJDT (AspectJ Development Tools) Eclipse プラグインを使用しています。

次のアドバイスを書きました。

package com.exemple.aop.aspect;

import com.exemple.aop.bean.impl.MyBeanImpl.Iface;



aspect MyAspect {
    
    // pointcut
    pointcut clientMethod(Iface p) : target(p) && call(String com.exemple.aop.bean.impl.MyBeanImpl$Client.doSomething());  
    
    // advice
    // **LINE JUST BELOW IS MARKED AS ERROR**
    after(Iface p) returning(Object x): clientMethod(p) {
        System.out.println("Returning from client method");
        System.out.println("Target: " + p);
        System.out.println("Return: " + x);
    }
}

機能する単体テストを作成しました。コンソールにトレースが表示されます。

ただし、AspectJ/Java エディターで Java ファイルを開くと、Eclipse UI の行にエラーが表示されます " after(Iface p) return(Object x): clientMethod(p) { "

この行に複数のマーカー

  • このメソッドは int 型の結果を返す必要があります

  • この行に 2 つの AspectJ マーカー

[プロジェクト エクスプローラー] ビューでは、プロジェクトにエラー フラグが付けられていないことに注意してください。

Eclipse AJDT プラグインが「このメソッドは int 型の結果を返す必要があります」というエラーを表示する理由を知っている人はいますか?

ありがとう!

4

2 に答える 2