使用 Spring Boot 在 IntelliJ 中 Logback 引用是红色的
Logback references are RED in IntelliJ using Spring Boot
这是 IntelliJ 2018.2.5 社区版中的多模块 SprintBoot 2.0.3 项目,使用:
龙目岛,Spring-Boot-Starter
Logback 正在运行,maven 安装成功,spring-boot:运行 运行s 网站成功。
我的 parent 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 在我的所有 类 上画了红线并导致分散注意力的 "Cannot resolve symbol 'log'" 错误(感知错误):
我尝试将 spring 引导的日志记录依赖手动添加到我的项目 pom、核心 pom 和 web pom,但行为没有变化:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
IntelliJ 肯定设置为 Java 10:
让 IntelliJ 识别 logback 由 SpringBoot 处理的正确方法是什么?
的确如此。答案在这里:
具体来说:
1. Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors -> Check "Enable annotation processing" (在我的例子中,这一步似乎是可选的。关键步骤是第 2 步)
2. Preferences -> Plugins -> 点击 -> "Browse repositories" -> Search for Lombok -> Install
3. 重启 IntelliJ
尝试在 IntelliJ 中启用注释处理:https://www.jetbrains.com/help/idea/compiler-annotation-processors.html
启用注释处理 复选框已勾选 - 设置 |构建 |编译器 |注释处理器
这是 IntelliJ 2018.2.5 社区版中的多模块 SprintBoot 2.0.3 项目,使用: 龙目岛,Spring-Boot-Starter
Logback 正在运行,maven 安装成功,spring-boot:运行 运行s 网站成功。
我的 parent 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 在我的所有 类 上画了红线并导致分散注意力的 "Cannot resolve symbol 'log'" 错误(感知错误):
我尝试将 spring 引导的日志记录依赖手动添加到我的项目 pom、核心 pom 和 web pom,但行为没有变化:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
IntelliJ 肯定设置为 Java 10:
让 IntelliJ 识别 logback 由 SpringBoot 处理的正确方法是什么?
的确如此。答案在这里:
具体来说: 1. Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors -> Check "Enable annotation processing" (在我的例子中,这一步似乎是可选的。关键步骤是第 2 步) 2. Preferences -> Plugins -> 点击 -> "Browse repositories" -> Search for Lombok -> Install 3. 重启 IntelliJ
尝试在 IntelliJ 中启用注释处理:https://www.jetbrains.com/help/idea/compiler-annotation-processors.html
启用注释处理 复选框已勾选 - 设置 |构建 |编译器 |注释处理器