Java slf4j.标记不兼容类型

Java slf4j.标记不兼容类型,java,slf4j,Java,Slf4j,我一直以这种方式使用slf4j,一切都很好: LOGGER.info("classification: {} {} {}", classification, question, id); 但我突然意识不到导致此错误消息的任何更改: Error:(50, 25) java: incompatible types: java.lang.String cannot be converted to org.slf4j.Marker 在命令行中,“mvn clean install”编译良好。但在I

我一直以这种方式使用slf4j,一切都很好:

LOGGER.info("classification: {} {} {}", classification, question, id); 
但我突然意识不到导致此错误消息的任何更改:

Error:(50, 25) java: incompatible types: java.lang.String cannot be converted to org.slf4j.Marker
在命令行中,“mvn clean install”编译良好。但在IntelliJ中,当我尝试启动应用程序时,上面的错误消息会弹出


这里出了什么问题?

似乎您点击了LOGGER.info的其他覆盖:

void info(Marker marker,
        String format,
        Object... arguments)
This method is similar to info(String, Object...) method except that the marker data is also taken into consideration.


Log4jLoggerAdapater等基本适配器扩展了MarkerIgnoringBase。MarkerIgnoringBase没有标记重写。IntelliJ似乎开始使用不扩展MarkerIgnoringBase的适配器

我有很多LOGGER.info()用法,今天突然都报告了这个错误。问题是为什么它现在调用信息(标记,…)版本?分类、问题、id的类型是什么?都是绳子还是别的什么?是的。所有这些都是Java字符串。您可以中断点并检查记录器实现吗。Log4jLoggerAdapater等基本适配器扩展了MarkerIgnoringBase。MarkerIgnoringBase没有标记重写。似乎IntelliJ开始使用不扩展MarkerIgnoringBase的适配器。我为您感到高兴:)