2016-04-02 84 views
0

有沒有辦法配置ClassLoader或JVM來使用CLASS保留策略加載註釋,所以我可以使用反射來訪問它們?如何訪問RetentionPolicy.CLASS java註釋?

這對於編譯時後處理很有用,如提到here。 我註釋了一些我的類,以便自動生成一個antlib.xml文件。我寧願如果我的註釋可能有CLASS保留策略,以便它不會創建運行時依賴項。

回答

1

javac可以使用-processor選項處理源級和類級註釋。請參閱javax.annotation.processing.AbstractProcessor。 (從Java 1.6開始)。

我在編譯.java文件時開始使用它。顯然它也可以用來處理CLASS註解和.class輸入文件。我沒有嘗試過,因爲我使用ant進行編譯,而ant似乎沒有將.class文件傳遞給編譯器。

當我想處理項目中的所有註釋時,我必須進行完整編譯。

0

我想你可能想看看this tutorial

它解釋瞭如何創建自己的註釋處理器以及如何使用它來生成代碼。它雖然不處理字節碼操作。

他還介紹了YouTube。如果你懶得讀...... ;-)