9

有没有人成功地将 Ant4Eclipse ( http://www.ant4eclipse.org/ ) 与 Project Lombok ( http://projectlombok.org/ ) 结合使用?

Lombok 提供了移除样板代码的注解;但是,它似乎不能很好地与 Ant4Eclipse(Eclipse 项目的无头编译)配合使用。例如,以下 Lombok 示例在 Eclipse 和 javac 中编译良好:

import lombok.Getter;
public class LombokTest {
  private @Getter String foo; 
  public LombokTest() {
    String s = this.getFoo();
  }
}

但是使用 Ant4Eclipse 进行编译会<buildJdtProject>产生以下结果:

[javac] Compiling 1 source file
[javac] ----------
[javac] 1. WARNING in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 4)
[javac]     private @Getter String foo;
[javac]                            ^^^
[javac] The field LombokTest.foo is never read locally
[javac] ----------
[javac] 2. ERROR in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 8)
[javac]             String s = this.getFoo();
[javac]                             ^^^^^^
[javac] The method getFoo() is undefined for the type LombokTest
[javac] ----------

有没有人成功地一起使用这些库?

谢谢!

编辑:演示问题的示例项目

4

3 回答 3

2

我最终设法用 ant4eclipse 编译了一个 lombok 项目,方法是先用 delomboking 项目

<delombok verbose="true"; encoding="UTF-8" 
    to="${workspaceDirectory}/myproject/src" 
    from="${workspaceDirectory}/myproject/src-original" />
于 2012-08-01T16:10:45.680 回答
1

IIRC 为了在 Eclipse 中使用 Lombok,在启动时需要一个参数来将 Lombok 的 Java 代理引入 JDT 编译过程。这通常在eclipse.ini文件中指定。如果 Ant4Eclipse 也没有使用这些参数(我不明白为什么会这样),您可能也必须为此指定-javaagent:lombok.jar参数。

免责声明:这只是一个猜测。

于 2010-04-05T11:42:11.290 回答
0

提供的项目没有使用 Java 6 与 Eclipse Java EE 3.5.2 进行开箱即用编译。Eclipse 中的错误与 ant4eclipse 给出的错误相同。

于 2010-04-05T07:12:41.807 回答