如何使用Java 7和Maven在Eclipse Kepler中运行JSR269 annotaion处理器

TmT*_*ron 5 java eclipse maven annotation-processing m2e

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

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

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

注意:命令行中的maven构建工作正常.

经过一些研究后发现,这可以在项目属性(Java编译器 - 注释处理 - 工厂路径)中进行配置.这里的问题是我当然想要使用已经在类路径上的注释处理器的.jar文件(在Maven容器中).我怎么能参考呢?我发现没有办法做到这一点.

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

M2_REPO/com/gwtplatform/gwtp-processors/1.0.1/gwtp-processors-1.0.1.jar
Run Code Online (Sandbox Code Playgroud)

这显然存在处理器现在在2个地方指定的问题:在maven pom文件和eclipse项目中.怎么避免这个?

Chr*_*iki 4

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

\n\n

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

\n\n

m2e-apt可以轻松地从 Eclipse 中的 m2e 发现对话框安装(\xe2\x80\x9cWindow\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9cPreferences\xe2\x80\x9d \xe2\x86\ x92 \xe2\x80\x9cMaven\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9cDiscovery\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9c打开目录\xe2\x80\x9d )。然后在 \xe2\x80\x9cWindow\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9cPreferences\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9cMaven\xe2 打开连接器\x80\x9d \xe2\x86\x92 \xe2\x80\x9c注释处理\xe2\x80\x9d。现在更新 Maven 项目时(右键单击该项目并选择 \xe2\x80\x9cMaven\xe2\x80\x9d \xe2\x86\x92 \xe2\x80\x9cUpdate Project\xe2\x80\xa6\xe2\x80 \x9d),那么 Eclipse 项目的注释处理应该在您在问题中描述的对话框中自动配置。

\n