有没有人使用Ant4Eclipse与Project Lombok?

时间:2010-04-05 05:09:28

标签: java eclipse ant lombok

有没有人成功地将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] ----------

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

谢谢!

修改sample project演示问题

3 个答案:

答案 0 :(得分:2)

我最终设法用ant4eclipse编译一个lombok项目,首先用

对项目进行删除
<delombok verbose="true"; encoding="UTF-8" 
    to="${workspaceDirectory}/myproject/src" 
    from="${workspaceDirectory}/myproject/src-original" />

答案 1 :(得分:1)

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

免责声明:这只是猜测。

答案 2 :(得分:0)

提供的项目不能使用Java 6在Eclipse Java EE 3.5.2中开箱即用.Eclipse中的错误与ant4eclipse提供的错误相同。