这是 IntelliJ 2018.2.5 Community Edition 中的多模块 SprintBoot 2.0.3 项目,使用: Lombok,Spring-Boot-Starter
Logback 正在工作,maven install 给出 BUILD SUCCESS 并且 spring-boot:run 成功运行网站。
我的父 pom.xml 有:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/>
</parent>
<modules>
<module>core</module>
<module>console</module>
<module>web</module>
</modules>
<packaging>pom</packaging>
<properties>
<java.version>10</java.version>
</properties>
核心pom有:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
当然 spring-boot-starter-logging 包含 logback-classic。
尽管日志记录工作正常(控制台输出所有预期的日志记录消息),Intellij 在我的所有类上绘制红线并导致分散注意力的“无法解析符号'log'”错误(感知错误):
我尝试将 Spring Boot 的日志依赖项手动添加到我的项目 pom、core pom 和 web pom 中,但行为没有变化:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
IntelliJ 肯定设置为 Java 10:
让 IntelliJ 识别 logback 是由 SpringBoot 处理的正确方法是什么?
确实是的。答案就在这里: https://stackoverflow.com/a/27430992/921587
具体来说: 1.首选项 -> 构建、执行、部署 -> 编译器 -> 注释处理器 -> 选中“启用注释处理”(在我的例子中,此步骤似乎是可选的。关键步骤是步骤 2) 2.首选项->插件->点击->“浏览存储库”->搜索Lombok->安装 3.重启IntelliJ最佳答案
尝试在 IntelliJ 中启用注释处理:https://www.jetbrains.com/help/idea/compiler-annotation-processors.html
启用注释处理复选框在 - 设置 | 下被勾选构建 |编译器|注释处理器
关于java - Logback 引用在使用 Spring Boot 的 IntelliJ 中为红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53031917/