我想在项目中使用Lombok来使用@Getter和@Setter。
我使用了 Maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.12.6</version>
<scope>provided</scope>
</dependency>
Netbeans 可以导入:
import lombok.Getter;
import lombok.Setter;
但是自动设置器和获取器不起作用(没有自动完成/“找不到符号......”)。
奇怪的是,对于我的另一个项目,它运行良好!但我无法弄清楚其中的差异。
我测试过:
更改lombok版本(甚至是最后一个):对于任何版本,导入都不再起作用
用Maven构建项目:没问题!
使用Eclipse:就可以了! (但不幸的是我是唯一一个决定的)
=> 所以我确信这是一个与 Netbeans 相关的问题
有什么想法吗?
在 Netbeans 21 中使用 Apache Maven 3 在 Maven 中开箱即用使用 Lombok。版本越新越好
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>1.18.32</version>
</dependency>
注意
这不是必需的,因为 Maven 和 Netbeans 是开箱即用的。您只需要 Maven 中正确的 Lombok 依赖项。
我在https://groups.google.com/forum/#!topic/project-lombok/xbgzA86pvJs
找到了解决方案=> 更新 maven-compiler-plugin 版本是使其工作的唯一方法
这对我们有用:
<scope>provided</scope>
1.16.20
更改为1.16.16
)<scope>provided</scope>
配置pom
<properties>
<src.dir>src/main/java</src.dir>
</properties>
<profiles>
<profile>
<id>lombok-build</id>
<properties>
<src.dir>${project.build.directory}/generated-sources/delombok</src.dir>
</properties>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${src.dir}</sourceDirectory>
<plugins>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.16.16.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
<configuration>
<sourceDirectory>src/main/java</sourceDirectory>
<addOutputDirectory>false</addOutputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后,在“项目属性”->“操作”->“激活配置文件”下,将 lombok-build 指定为各种操作(构建、调试等)的活动配置文件。
在这个博客有一个github示例项目和带有图片的配置,以使用最新版本的maven + netbeans + lombok,这对我有用。