有没有人成功地将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演示问题
答案 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提供的错误相同。