2017-08-10 29 views
0

比方說,我有3個文件內置的應用程序:在aspectJ編譯時織入後,我仍然需要哪些類文件在類路徑上?

MyApp.java(應用程序):

public class MyApp {...} 

MyAspect.aj(增加了一些功能的應用程序):

public aspect MyAspect { 

    before(): execution(* MyApp.*(..)) { 
    AspectHelper helper = new AspectHelper() 
    ... 
    } 
} 

AspectHelper.java(僅用於由方面)

class AspectHelper {...} 

經過編譯時編織後,我將有MyApp.class,MyAspect.class,AspectHelper.class。當我運行應用程序時,是否需要類路徑中的所有3個文件,或者其中一些文件將被構建在MyApp.class字節碼中,我不再需要它們作爲單獨的文件了?

回答

0

您的編織類(MyApp)將引用方面類(MyAspect)。您在方面課程中編寫的代碼將引用您的幫助課程(AspectHelper)。你將需要所有文件。當然,也是aspectj運行時。您可以使用反編譯器工具或javap檢查編譯的代碼。在您的編譯的類目錄上嘗試javap -p -c -s MyApp.class

相關問題