lombok 相关问题

Project Lombok是一个通过Annotations减少java中样板代码并编译时间代码生成的工具。

在 IntelliJ IDEA 中查看 lombok 生成的代码

我在 IntelliJ 中设置了 lombok 插件,并且我的代码构建得很好。我可以在结构视图中看到 lombok 生成的方法。我想要的是某种方式来实际查看 lombok 生成的源代码...

回答 4 投票 0

Gradle 7.2 Java 17 构建问题 java.lang.NullPointerException:无法读取字段“bindingsWhenTrue”,因为“currentBindings”为 null

测试将某些服务升级到 Java 17,现在它已经是 GA,并在编译 Gradle 7.2 Spring Boot 应用程序时遇到了以下问题: > 任务:编译Java 注意:某些输入文件使用 或

回答 1 投票 0

Spring:正确使用lombok Builder

我在使用 lombok @Builder 时遇到了问题。 在 SpringBoot 应用程序中,我创建以下组件: @盖特 @Builder @成分 @AllArgsConstructor 公共类 ContentDTO { 私人...

回答 2 投票 0

在 Android Studio 2021.1.1(2022 版本)中找不到 Lombok 插件

安装最新的 Android Studio 后,我尝试安装 Lombok 插件(Android Studio Bumblebee 2021.1.1 | 构建于 2022 年 1 月 19 日) 但在设置 -> 插件 -> 中没有找到 Lombok

回答 4 投票 0

使用Lombok @RequiredArgsConstructor而不使用@Autowired

“我正在学习英语,这是我第一次用英语写作。可能会有一些错误,请多多包涵。 我正在尝试使用 STS4 显示数据库列表

回答 1 投票 0

IntelliJ 与 Lombok、RequiredArgsConstructor 和 `private Final` 显示未知的可空性警告

对于以下类似虚拟的类 @服务 @RequiredArgsConstructor 公共类 SomeService { 私有最终 AnotherService anotherService; 私人最终第三服务第三服务; 公开...

回答 1 投票 0

使用 SuppressionXpathFilter 抑制 lombok val 的 checkstyle

我正在使用 lombok 的 val 来指定代码中的最终变量。 FinalLocalVariable 的 checkstyle 规则将任何 val 变量报告为非最终变量。我正在尝试编写一个自定义的suppress.xml来su...

回答 1 投票 0

Lombok 没有生成 getter 、setter

org.projectlombok 龙目岛 真实 我做了一切我...

回答 1 投票 0

我想解决java中Lombok的第一个问题,任何人都可以指导我在哪里以及如何完成这个任务

我想为内部实施做出贡献,所以任何人都可以帮助我提供答案 帮助为龙目岛做出贡献 如何制定有组织的贡献策略以及什么...

回答 1 投票 0

使用Lombok的@Slf4j和Eclipse构建:找不到符号日志

我在Eclipse中安装了lombok插件,并在java编译器下的Eclipse中启用了注释处理,但是当我使用@Slf4j注释时仍然无法识别日志语句。 我们有吗...

回答 5 投票 0

使用 SuppressionXpathFilter 抑制 lombok val 的 checkstyle

我正在使用 lombok 的 val 来指定代码中的最终变量。 FinalLocalVariable 的 checkstyle 规则将任何 val 变量报告为非最终变量。我正在尝试编写一个自定义的suppress.xml来su...

回答 1 投票 0

Lombok @With 将克隆上的继承字段设置为 null。我如何让它复制工作?

我正在尝试使用 Lombok 的 @With 注释来设置克隆,但是我遇到了一个问题,它将继承的字段设置为 null。为了演示,假设我有以下类层次结构: @

回答 3 投票 0

Spring @Valid 构造函数注释不起作用。验证 Dto 的最佳实践

今天我正在寻找一种方法来验证我必须返回到FE的DTO。 我认为使用 jakarta.validation 包中的 @Valid 注释创建构造函数可能是个好主意

回答 1 投票 0

Lombok 不编译抽象泛型超类

我有这门课: @超级建造者 公共抽象类 EventFinder { 私人最终字符串帐户ID; 公共抽象列表 find(); 公共静态摘要...

回答 1 投票 0

添加lombok依赖和@Slf4j不允许使用logger

我想使用龙目岛的记录器。我添加了 @Slf4j 注释,添加了依赖项,它说它无法解析符号日志。错误:(5, 1) java: 包 org.slf4j 不存在 包一; 进口l...

回答 3 投票 0

多模块maven项目中JDK升级到JDK17时,Lombok 1.18.26无法找到符号

我在 JDK8 中使用 Lombok,一切正常。但是,当我尝试升级到 JDK17 时,编译失败并出现错误 错误:找不到符号 [错误]符号:类生成器 不能

回答 2 投票 0

我们如何使用 lombok 为 2 个相同的对象创建相同的哈希码值?

我正在尝试单例设计模式。当我这样做时,service1和service2的hashcode值是相同的。但是我希望通过Lombok生成hashcode值。当我使用@EqualsAndHas...

回答 1 投票 0

是否可以在 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 中添加限定符?

如果我想在构造函数依赖注入上使用注释@Qualifier,我会得到如下所示的内容: 公共类示例{ 私有最终 ComponentExample 组件; ...

回答 3 投票 0

构造函数基础依赖注入不起作用?

这是我第一次遇到这个错误 `描述: com.team.zah.blog.service.Impl.PostServiceImpl 中构造函数的参数 0 需要类型为“com.team.zah.blog.repository”的 bean。

回答 1 投票 0

Lombok 不生成 getter 和 setter 或构造函数,甚至 Spring Boot 项目中的 @Data 的问题

我使用 Spring Boot 来初始化我的项目,事实上,我通过 Spring Boot 包含了 Lombok 依赖项,并配置了 Lombok 插件,如下所示: 我使用的IDE是Eclipse 我使用 Spring Boot 来初始化我的项目,事实上,我通过 Spring Boot 包含了 Lombok 依赖项并配置了 Lombok 插件,如下所示: 我使用的IDE是Eclipse <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.springbootExample</groupId> <artifactId>SpringBoot_Example</artifactId> <version>0.0.1-SNAPSHOT</version> <name>SpringBoot_Example</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>12.4.2.jre11</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </pluginRepository> </pluginRepositories> </project> 但是,当我在名为department.java的实体类中使用它时,Lombok似乎没有按预期工作。即使使用 @Data、@NoArgsConstructor、@AllArgsConstructor 和 @Builder 对类进行注释后,问题仍然存在。 package com.springbootExample.SpringBoot_Example.entity; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Entity @Data @NoArgsConstructor @AllArgsConstructor @Builder public class department { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long departmentID; @NotBlank(message = "Please add department name") // @Length(max = 20, min = 10) // @Size // @Email // @Positive // @Negative // @PositiveOrZero // @Future // @Past // @FutureOrPresent private String departmentName; private String departmentAdress; private String departmentCode; } 在另一个配置Java类中,我也无法使用部门类的getter和setter方法。 package com.springbootExample.SpringBoot_Example.service; import java.util.List; import java.util.Objects; import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.springbootExample.SpringBoot_Example.entity.department; import com.springbootExample.SpringBoot_Example.error.departmentExceptionHandling; import com.springbootExample.SpringBoot_Example.repository.departmentRepository; @Service public class departmentServiceImplement implements departmentService{ @Autowired private departmentRepository dr; @Override public department saveDepartment(department dp) { return dr.save(dp); } @Override public List<department> fetchDepartment() { return dr.findAll(); } @Override public department fetchDepartmentById(Long departmentID) throws departmentExceptionHandling { Optional<department> dpt = dr.findById(departmentID); if(!dpt.isPresent()) { throw new departmentExceptionHandling("Department was not found"); } return dpt.get(); } @Override public void deleteDepartmentById(Long departmentID) { dr.deleteById(departmentID); } @Override public department updateDepartment(Long departmentID, department dp) { department dep = dr.findById(departmentID).get(); if(Objects.nonNull(dp.getDepartmentName()) && !"".equalsIgnoreCase(dp.getDepartmentName())) { dep.setDepartmentName(dp.getDepartmentName()); } if(Objects.nonNull(dp.getDepartmentCode()) && !"".equalsIgnoreCase(dp.getDepartmentCode())) { dep.setDepartmentCode(dp.getDepartmentCode()); } if(Objects.nonNull(dp.getDepartmentAdress()) && !"".equalsIgnoreCase(dp.getDepartmentAdress())) { dep.setDepartmentAdress(dp.getDepartmentAdress()); } return dr.save(dep); } @Override public department fetchDepartmentByName(String departmentName) { return departmentRepository.findByDepartmentNameIgnoreCase(departmentName); } } 错误显示为 The method getDepartmentName() is undefined for the type department The method getDepartmentCode() is undefined for the type department The method getDepartmentAdress() is undefined for the type department 我尝试了多种解决方案,例如更新 IDE、更改 Lombok 插件、安装 Lombok,但都没有解决问题。 如果有人遇到类似的问题并且知道如何解决它,我将非常感谢您的帮助。 提前谢谢您。 这些注释将在编译之前执行。在 Gradle 中,您需要使用 annotationProcessor <lombok> 来实现此目的。您添加的是默认范围,可能是runtime或compile(不确定)。对于 Maven,您必须使用 annotationProcessor 的等效项,here(在问题本身中)对此进行了解释。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.