2013-07-30 54 views
0

我正在使用AJDT(AspectJ開發工具)Eclipse插件。Eclipse AJDT - 錯誤消息「此方法必須返回Java類方面的類型的結果」

我寫了下面的建議:

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的用戶界面會顯示在線上的錯誤 「(IFACE P)返回(對象X)後:clientMethod(P){」 它說:

在該行的多個標記

  • 此方法必須返回int類型

  • 2方面的結果Ĵ標記在該行

注意,該項目未標有「項目資源管理器」視圖中的錯誤標誌。

是否有任何人知道或作爲一個想法,爲什麼Eclipse的插件AJDT顯示錯誤「此方法必須返回int類型的結果」?

謝謝!

回答

0

有幾種可能性。很可能,您正試圖在Java編輯器中打開一個方面文件。

+0

這不是你所提到的可能性:我開的「的AspectJ/Java編輯器」的文件。 – Syl

+0

另外,確保已啓用JDT編織。如果是,那麼也看看你的eclipse錯誤日誌。並粘貼任何相關的錯誤。 –

0

您的方面文件創建爲Java類(MyAspect.java)。 您必須將其創建爲一個方面(MyAspect.aj)。

只要通過新做 - >其他 - >看點具有相同的內容。

你應該爲Eclipse(AJDT)的AspectJ插件

就是這樣

相關問題