2013-10-21 68 views
0

我正在做一個(非Maven,我相信)Netbeans模塊,它被用作Netbeans平臺上構建的程序的插件。自定義註釋處理器與Netbeans模塊

我想要做的就是使用自定義註釋來添加一種關於如何使用GUI元素(我正在使用的插件)的文檔,當用戶轉到幫助菜單並選擇「如何使用」。

我的想法是創建一個自定義註釋,其中用戶提供名稱和幫助信息的類。然後註釋處理器遍歷註釋,並輸出一個類,註釋信息存儲在一個類字段中。這個類可以被擴展,並用於以有用的方式顯示信息。

根據這個實例https://netbeans.org/kb/docs/java/annotations-custom.html

我使用的Java 7,但無論是模塊和標註處理罐被編譯爲Java的6.我的Netbeans版本7.3.1是,但我相信模塊正在爲Netbeans Platform 7.0.1開發。

我有註釋,並編譯成一個JAR,而如果我有一個普通的Java項目中使用註解處理器,它按預期工作。

但是,我不能讓處理器在編譯Netbeans模塊項目期間運行。

我嘗試添加註解處理器類到META-INF.services,javax.annotation.processing.Processor文件時,NetBeans模塊中。

我嘗試添加了註解處理器類的META-INF.services,javax.annotation.processing.Processor文件,在標註處理項目。 (這使得它與我的測試項目工作)

我嘗試添加了-processor編譯器標誌在NetBeans模塊項目中使用特定的註解處理器。

回答

0

除去延伸從註釋處理器我的類和預期的自動生成的類,輸出之間關係後,將代碼編譯。但在那時我注意到註釋處理器實際上正在運行。

我加了回來extends關係,並再次清洗和編譯,而且它無法編譯,但註解處理器已運行,併成功地爲希望生成的輸出文件。我打造,沒有清理,它建立了最後的時間,並按預期工作。

我不知道是什麼導致了這種情況,至少對於Netbeans模塊項目來說,它似乎是構建順序不同於普通的Java項目。或者也許有幾個中間構建步驟並不總是得到清理。