我将Lombok作为依赖项(maven),并且导入了注释,但它没有生成方法。有什么建议吗?
注释正在起作用:
方法没有产生:
答案 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错误下划线。