2013-08-04 86 views
2

我正在開發註釋處理器。註釋處理器僅在第一次運行後處理修改的類

當處理器項目編譯爲.jar時,處理髮生在使用處理器的第二個項目的所有類上(也發生在我在Eclipse上使用Project-> Clean ...時)。但是,當我更改一個課程並保存它時,在我的第二個項目上,處理只發生在這個課程中。

問題是我的處理器必須獲取所有類的根元素,但是當它只在一個類中運行時,它只能獲得此類的根元素。

關於如何獲得項目所有根元素的任何想法?

+0

您是僅在eclipse下使用處理器,還是在構建中使用? –

+0

我認爲它只在Eclipse下運行。我不知道其他的方式。它在Eclipse中配置爲 屬性 - > Java編譯器 - >註釋處理。 – Natanael

+1

Eclipse執行漸進式編譯,這使得批量註釋處理有點困難。我知道有些項目會保留一個已知根的文件,並將其作爲輸入來處理註釋處理過程中的所有根。就個人而言,我更喜歡在IDE之外運行mvn clean install或類似的構建來處理註釋處理。 –

回答

0

我知道,它是一個老問題,但我現在偶然發現了這個問題,並且我還找到了解決方案。 >屬性 - - >通過JavaCompiler - >註釋處理 - >工廠路徑 - 在Eclipse(我用火星),在項目右鍵 - >高級 - >在批處理模式下運行這個容器的處理器

enter image description here