龙目岛混乱 - IntelliJ IDEA

时间:2015-10-04 06:09:35

标签: java intellij-idea lombok

我将Lombok作为依赖项(maven),并且导入了注释,但它没有生成方法。有什么建议吗?

注释正在起作用:
working annotation

方法没有产生:
methods not generating

3 个答案:

答案 0 :(得分:2)

您需要安装/激活lombok plugin才能在IntelliJ中使用。单独的maven依赖项以及pom.xml中的插件配置仅在Maven构建中起作用:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.12.2</version>
</dependency>
...
<build>
  <plugins>
    <plugin>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok-maven-plugin</artifactId>
      <version>1.12.2.0</version>
      <executions>
        <execution>
          <phase>generate-sources</phase>
            <goals>
              <goal>delombok</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
  ...
  </plugins>
</build>

答案 1 :(得分:2)

Lombok实际上已经为你的情况生成了getter,除了你的IDE没有为你显示它。也就是说,您的getKills()方法对于javac是可见的,而不是您的IntelliJ。

要验证上述内容,您可以执行mvn compile,并且您将看到您的代码不会抛出编译错误。

如果您对显示为红色字体的getKills()感到困扰,则只需安装Lombok plugin for IntelliJ即可。除了识别Lombok生成的代码(并且没有以红色字体显示)之外,该插件还提供了诸如自动完成,IDE中“delombok”等功能等优点。

没有明确需要用于安装lombok-maven-plugin

答案 2 :(得分:0)

虽然这些方法可能实际上没有生成(在这种情况下你应该忽略这个答案),但根据我在项目中使用Lombok的经验,IntelliJ有从来没有能够在IDE中检测它们,并始终强调我用作错误的getter / setter调用(即使它们不是)。

但是当我编译并运行我的代码时,它工作正常,因为getters / setter实际上已经生成了。尝试运行代码并忽略intellij错误下划线。