gpt4 book ai didi

java - 在IntelliJ中使用Slf4j注解和Lombok时出现"log has private access"错误

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:54 24 4
gpt4 key购买 nike

我正在使用 Lombok 将日志记录添加到我的 Java 应用程序中。我已经使用它一段时间了,但是自从我将 IDE 从 IntelliJ 13 Community Edition 升级到 14 Ultimate 后,出现以下编译错误(使用 Maven):

error: log has private access in SesameServer

此错误源自 SesameServer 的子类:

@Slf4j
public class AnnotatorServices extends SesameServer {

@Override
protected void initialiseRDFStoreManager(Series<Parameter> parameters) throws RepositoryConfigException, RepositoryException {
log.info("<< ------ Annotator Services ------- >>");
}
}

当然SesameServer也使用了@Slf4j注解来添加日志记录。 @Slf4j 注释添加了一行:

 private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(SesameServer.class);

到使用它的类(SesameServerAnnotatorServices,其中 SesameServer.class 当然被替换为 AnnotatorServices .class).显然,编译器认为我想使用 SesameServer 中的 log 变量,而不是 AnnotatorServices(两个类都有同名变量)。

如何防止这个问题,即使用 SesameServer.log 而不是 AnnotatorServices.log

最佳答案

注意:如果其他人使用谷歌搜索此错误消息,仍然会出现此问题;所以添加我的修复程序希望这会有所帮助。

pom.xml 重新打开一个项目后,我遇到了类似的问题。

由于我的父类 SesameServer 已经构建在不同的模块中并使用了依赖项;当我编译我的 AnnotatorServices 时,我还看到了 error: log has private access in SesameServer


要修复它,我只需要为包含 AnnotatorServices 的模块打开 Annotation Processing。

在 IntelliJ Community 2017.1.6 中,复选框位于:

  1. 文件 -> 设置
  2. “构建、执行部署 -> 编译器 -> 注释处理器”
  3. 勾选“启用注释处理”

关于java - 在IntelliJ中使用Slf4j注解和Lombok时出现"log has private access"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28480278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com