Controller:

问题描述 投票:0回答:1
模型:

简单传感器实体与JPA package kz.don.sensorTracker.model; import jakarta.persistence.*; import lombok.*; import java.io.Serializable; import java.time.LocalDateTime; @Setter @Getter @Entity @Table(name = "SENSORS") @AllArgsConstructor @NoArgsConstructor @Builder public class Sensor implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private Long id; @Column(name = "NAME", nullable = false, unique = true) private String name; private LocalDateTime initDate; @PrePersist public void prePersist(){ initDate = LocalDateTime.now(); } }

pom.xml:

我试图专门提供较新版本的Lombok来解决这个问题,但没有任何改变。 <?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.4.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>kz.don</groupId> <artifactId>sensorTracker</artifactId> <version>0.0.1-SNAPSHOT</version> <name>sensorTracker</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>21</java.version> </properties> <dependencies> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>0.11.5</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>0.11.5</version> <scope>runtime</scope> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>0.11.5</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </path> </annotationProcessorPaths> </configuration> </plugin> <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> </project>

/Users/coldkey/Downloads/sensorTracker/src/main/java/kz/don/sensorTracker/controller/SensorController.java:23:16java: cannot find symbolsymbol: method setName(java.lang.String)location: variable sensor1 of type kz.don.sensorTracker.model.Sensor
构建失败 - 那是整个堆栈跟踪

手动创造了产生的getters和setter,它可以完美地工作,但是想法本身建议使用Lombok。 每次我尝试使用Lombok生成的方法时,都会发生错误,但是构造函数与All-Args和No-Args的方法都可以。

这可能是Intellij中Lombok插件的问题,您可以尝试以下步骤-

确保安装Lombok插件

确保您拥有“启用注释处理”选项检查(构建,执行,部署 - >编译器 - >注释处理器)

java maven intellij-idea lombok intellij-lombok-plugin
1个回答
0
投票

  1. 渗透缓存和重新启动
  2. 如果错误仍然存在,然后尝试从命令行构建和运行。有时,Intellij构建会引起由于Lombok问题而引起的编译错误,但是由于代码本身具有正确的Lombok依赖性和配置,因此从命令行中运行良好。
,例如,为Maven Build运行

mvn clean install或从终端运行Spring Boot应用程序。 IntelliJ Annotation Processors Config

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.