java - 如何使用 Java 7 和 Maven 在 Eclipse Kepler 中运行 JSR 269 注释处理器

标签 java eclipse maven m2e annotation-processing

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

运行这个注解处理器最简单的方法是什么?

实际上,我希望 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 项目中。如何避免这种情况?

最佳答案

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

要使用的 m2e 连接器取决于您如何在 Maven 端配置注释处理。如果你只是依赖 maven-compiler-plugin找到你的注解处理器,或者如果你配置了 maven-annotation-plugin为此,您可以使用连接器 m2e-apt by JBoss .

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

关于java - 如何使用 Java 7 和 Maven 在 Eclipse Kepler 中运行 JSR 269 注释处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383729/

相关文章:

java - 一旦完成,这个可运行的线程最后会发生什么?

java.lang.AssertionError : Status expected:<200> but was:<404> in Junit test 错误

java - Eclipse 选择了错误的 jdk

java - 尝试在 Eclipse 中更改 Appengine JAVA SDK

java - 无法在 Jenkins 中配置 Maven

maven - Jacoco 代码覆盖率报告在 Jenkins 中显示 0 覆盖率

java - 为什么 Maven 不在多模块项目中安装依赖项?

java - System.out.print 不打印到控制台,否则打印新行

android - tabwidget 没有出现在 Eclipse 图形布局编辑器中

java - 使用 java 执行 shell 命令时与进程通信