2013-10-15 74 views
5

我使用eclipse Kepler並將編譯器設置爲使用Java 7.我在我的類路徑(在maven容器中)中有一個符合JSR269的註釋處理器。如何在Eclipse Kepler中使用Java 7和Maven運行JSR269註釋處理器

運行此批註處理器的最簡單方法是什麼?

事實上,我期望Eclipse編譯在構建期間自動運行此註釋處理器,因爲它符合JSR 269標準 - 但事實並非如此。爲什麼不 - 出於性能原因?

注意:從命令行構建的maven工作得很好。

經過一番研究發現,這可以在項目屬性(Java Compiler - Annotation processing - Factory Path)中進行配置。這裏的問題是,我當然想要使用已經在類路徑上(在Maven容器中)的註釋處理器的.jar文件。我如何參考它?我發現沒有辦法做到這一點。

,我想出了是使用M2_REPO變量,然後路徑手動附加到像這樣的處理器最好的:

M2_REPO/com/gwtplatform/gwtp-processors/1.0.1/gwtp-processors-1.0.1.jar 

這顯然是處理器現在2個地方規定的問題:在maven pom文件和eclipse項目中。如何避免這種情況?

回答

4

您需要一個m2e連接器,它可以自動配置您的Eclipse項目以進行註釋處理。

要使用的m2e連接器取決於您如何在Maven端配置註釋處理。如果您只依靠maven-compiler-plugin找到您的註釋處理器,或者您已爲此配置maven-annotation-plugin,則可以使用連接器m2e-apt by JBoss

m2e-apt可以輕鬆地從Eclipse的m2e發現對話框(「窗口」→「首選項」→「Maven」→「發現」→「打開目錄」)安裝。然後在「窗口」→「首選項」→「Maven」→「註釋處理」中打開連接器。當你現在更新你的Maven項目(右鍵點擊項目並選擇「Maven」→「更新項目...」),那麼Eclipse項目的註解處理應該在你問題中描述的對話框中自動配置。