java - 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
解决方案
尝试在 IntelliJ 中启用注释处理:https ://www.jetbrains.com/help/idea/compiler-annotation-processors.html
启用注释处理复选框在 - 设置 | 下打勾。构建 | 编译器 | 注释处理器
推荐阅读
- google-cloud-platform - 如何在 GCloud App Engin 上使用外部身份进行授权
- python - 我怎样才能发现 __main__ 属于哪个包
- javascript - 无法解析模块说明符“firebase/app”
- android - 如何在按下后退的情况下从活动中结束应用程序而不返回到上一个活动
- woocommerce - WooCommerce:分页未出现在商店页面上
- node.js - Azure 通信服务 Web/JS 调用 SDK - 是否可以接收到 PSTN 的来电并获取音频流?
- python - 应用具有多个匹配条件的 numpy 掩码
- tsql - 将 nvarchar 转换为日期时间/日期后的计算
- autolayout - 两个 UITableViewCell 具有相同的约束,但在 Interface Builder 中显示不同
- php - 使用带有 mysqli 准备语句的哈希密码时插入语句失败