首页 > 解决方案 > Logback 引用在 IntelliJ 中使用 Spring Boot 是 RED

问题描述

这是 IntelliJ 2018.2.5 社区版中的多模块 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 在我的所有类上绘制红线并导致分散注意力的“无法解析符号'日志'”错误(感知错误):

在此处输入图像描述

我尝试将 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. Resart IntelliJ

标签: javamavenspring-bootintellij-idealombok

解决方案


尝试在 IntelliJ 中启用注释处理:https ://www.jetbrains.com/help/idea/compiler-annotation-processors.html

启用注释处理复选框在 - 设置 | 下打勾。构建 | 编译器 | 注释处理器


推荐阅读