5

我正在使用 eclipse Kepler,编译器设置为使用 Java 7。我的类路径中有一个符合 JSR269 的注释处理器(在 maven 容器中)。

运行此注释处理器的最简单方法是什么?

实际上,我希望 Eclipse 编译在构建期间自动运行此注释处理器,因为它符合 JSR 269 - 但事实并非如此。为什么不——是出于性能原因?

注意:命令行中的 Maven 构建工作得很好。

经过一番研究,事实证明这可以在项目属性中进行配置(Java 编译器 - 注释处理 - 工厂路径)。这里的问题是我当然想使用已经在类路径(在 Maven 容器中)的注释处理器的 .jar 文件。我怎样才能参考它?我没有办法做到这一点。

我想出的最好方法是使用M2_REPO变量,然后手动将路径附加到处理器,如下所示:

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

这显然有一个问题,即现在在 2 个地方指定了处理器:在 maven pom 文件中和 eclipse 项目中。如何避免这种情况?

4

1 回答 1

4

您需要一个 m2e 连接器来自动配置您的 Eclipse 项目以进行注释处理。

要使用的 m2e 连接器取决于您在 Maven 端如何配置注释处理。如果您只是依靠maven-compiler-plugin来查找您的注释处理器,或者您已经为此配置了maven-annotation-plugin,那么您可以使用JBoss的连接器m2e-apt

m2e-apt可以从 Eclipse 中的 m2e 发现对话框轻松安装(“Window”→“Preferences”→“Maven”→“Discovery”→“Open Catalog”)。然后在“Window”→“Preferences”→“Maven”→“Annotation Processing”打开连接器。当您现在更新 Maven 项目时(右键单击项目并选择“Maven”→“更新项目...”),Eclipse 项目的注释处理应在您在问题中描述的对话框中自动配置。

于 2013-10-16T09:05:19.033 回答