我想使用@ Slf4j批注,因此我将此依赖项导入了pom.xml文件
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.29</version>
</dependency>
但我遇到错误无法解析符号Slf4j
@Service
@Slf4j
@Transactional(readOnly = true)
public class PasswordResetTokenService {
..
}
答案 0 :(得分:1)
我相信@ Slf4j注释实际上不是来自Slf4j,而是来自Lombok。请查看此链接,它似乎提供了一个非常好的模板,从https://howtodoinjava.com/spring-boot2/logging/logging-with-lombok/
开始如果您查看Application.java的摘录。注释的导入来自lombok
导入lombok.extern.slf4j.Slf4j;
答案 1 :(得分:1)
@ Slf4j注释是Lombok注释,在slf4j依赖项中不存在。
如果要使用此注释而不是声明记录器字段,则需要向Lombok添加额外的依赖项:
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
对于Spring Boot,父POM可能已经指定了版本。然后,您不再需要声明特定版本。
请参阅:
https://projectlombok.org/features/log
https://projectlombok.org/api/lombok/extern/slf4j/Slf4j.html