【问题标题】:Lombok not generating getters/setters (with Luna or command line compile)Lombok 不生成 getter/setter(使用 Luna 或命令行编译)
【发布时间】:2014-11-12 06:04:38
【问题描述】:

我第一次尝试龙目岛。我试图尽可能地遵循指示,但是当我查看我编译的类(使用反编译器)时,它们没有任何生成的 getter 或 setter。

我的安装步骤:

  1. 下载 lombok 1.14.8 并运行 java -jar lombok.jar。它将龙目岛添加到日食中。重新启动 Eclipse(也清理工作区)。如果我查看关于 Eclipse 页面,我会看到:

    "Lombok v1.14.8 "Branching Cobra" 已安装。http://projectlombok.org/"

  2. 在我的 pom.xml 中添加了 lombok:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
        <version>1.14.8</version>
    </dependency>
    
  3. Maven->更新项目。项目->清理

我的龙目岛 java 类:

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。

【问题讨论】:

    标签: java eclipse maven lombok


    【解决方案1】:

    发布此内容后,我遇到了一个错误报告,指出这是 AspectJ 的问题。

    确实,我在我的项目中使用了 AspectJ,它导致与 Lombok 发生冲突。移除 AspectJ 现在会显示正确生成的 setter/getter。

    这显然不能“解决”问题,但至少为我指明了正确的方向。我created another issue here跟踪这个具体问题。

    希望这也可以在未来对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多