我可以在开发模式下使用 Lombok 和 GWT 吗?

5
我尝试按照官方说明运行一个使用lombok的GWT项目,但是要么我做错了什么,要么这在当前版本的GWT中已经不再适用了?

我遇到的错误是:

"setA(int)方法对于类型MyData未定义"。

MyData很简单:

@Data
public class MyData {
  private int a;
}

我在进行指定

-javaagent:/path/to/lombok.jar=ECJ

在我的Eclipse运行配置中(作为VM参数)。
我也尝试着玩了一下。

-Xbootclasspath/p:/path/to/lombok.jar

问题在于,我大部分时间只是猜测整个设置应该如何工作,因此我不想排除故障的情况下,请问正确的设置应该是怎样的?

此外,我还需要从我的ant文件开始开发模式等。


1
我使用 delombok 去除一些魔法和技巧(Lombok 本身就是一个大型的 hack,即使它的作者也承认),而且它的效果非常好。 - Thomas Broyer
2个回答

4

你现在可能已经使它工作了,但我可以确认它与GWT2.4 / Eclipse 3.7兼容。唯一需要的选项是-javaagent VM参数,并将lombok.jar添加到类路径/构建路径中。

我认为当你第一次开始使用它时,可能会遇到一些问题,涉及gwt-unitCache文件夹和war/WEB-INF/classes文件夹,清除这些文件夹可能是设置时的一个好步骤!


删除“gwt-unitCache”文件夹就解决了问题!我从另一个系统中复制了Web应用程序项目,包括这个缓存文件夹。清除后,错误消失了。 - Andi

2
我认为你遇到了393问题(Issue 393)。如果是这种情况,你可以尝试最新的边缘版发布(edge release)。
披露一下:我是项目 lombok 的开发人员之一。

谢谢你的回答。是的,这看起来确实像新问题320!然而,我刚刚从你提供的链接中下载了最新版本,安装了它,并重新配置了我的项目,但不幸的是问题仍然存在。我的GWT项目非常简单:只有通常的示例GWT项目加上对MyData对象的调用(来自客户端!当然,在服务器端它完美地工作)... - Chris Lercher
请您能否提交一个错误报告 - Roel Spilker
Lombok问题跟踪器现在已经迁移到了Github。 - Roel Spilker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接