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

我正在使用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

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

最佳答案
您需要一个m2e连接器,它可以自动配置Eclipse项目以进行注释处理.

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

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

转载注明原文:如何使用Java 7和Maven在Eclipse Kepler中运行JSR269 annotaion处理器 - 代码日志