我第一次尝试lombok。我试图尽可能地遵循指示,但是当我查看我编译的类(使用反编译器)时,他们没有任何生成的getter或setter。
我的安装步骤:
下载lombok 1.14.8并运行java -jar lombok.jar。它添加了lombok到eclipse。重启Eclipse( - 清理工作区)。如果我查看我的About Eclipse页面,我会看到:
" Lombok v1.14.8" Branching Cobra"已安装。 http://projectlombok.org/"
将lombok添加到我的pom.xml:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>1.14.8</version>
</dependency>
Maven-&gt;更新项目。项目 - &GT;清洁
My Lombok&#39; ed java class:
import lombok.Getter;
import lombok.Setter;
public class User extends BaseCouchDbDocument {
public User() {
// TODO Auto-generated constructor stub
}
@Getter @Setter
private String name;
}
在Eclipse中使用代码完成时,我会看到User.getName()
和User.setName()
。但是,如果我尝试使用getter或setter,我会收到编译时错误,表明不存在这样的方法。当我查看生成的.class文件时,我只看到以下内容:
public class User extends BaseCouchDbDocument
{
private String name;
}
同样,如果我从命令行运行mvn compile
,我会获得相同的类输出。
我发现奇怪的是删除了@Getter
和@Setter
注释,这意味着我的文件上发生了一些处理。但是没有生成getter / setter。
我做错了吗?我在Mac上使用Java 7。
答案 0 :(得分:4)
发布此消息后,我遇到了一个错误报告,表明它与AspectJ存在问题。
事实上,我正在将AspectJ与我的项目一起使用,并且它与Lombok发生冲突。删除AspectJ现在显示正确生成的setter / getters。
这显然没有&#34;解决&#34;这个问题,但至少指出了我正确的方向。我created another issue here来跟踪此特定问题。
希望这也可以帮助其他人。