微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring initializr:无法为 Gradle 项目导入 org.slf4j.LoggerFactory

如何解决spring initializr:无法为 Gradle 项目导入 org.slf4j.LoggerFactory

我正在尝试学习如何使用 IntelliJ IDEA 构建“Spring Web”网络应用程序,当我尝试使用“Spring Initializr”创建新项目时遇到了一个非常令人沮丧的问题。

出于某种原因,当我选择创建“Gradle 项目”、Java 或 Kotlin 时,我无法导入 org.slf4j.LoggerFactory

如果我手动添加导入语句,它不会解析,如果我尝试让 InteliJ 自动添加导入,它会添加以下内容...

导入 com.sun.org.slf4j.internal.LoggerFactory

这满足编辑器,但它不会编译。它错误...

符号在模块“java.xml.crypto”中声明,该模块不导出包“com.sun.org.slf4j.internal”

如果我创建了一个“Maven 项目”,无论是 Kotlin 还是 Java,它都会按预期工作。

我将 spring initializr 中的其他设置保持为认值,Spring Boot=2.4.2,Java=11

IntelliJ IDEA 表示没有可用更新。

我曾多次尝试将 slf4j 依赖项手动添加到 build.gradle(对于 Java)或 build.gradle.kts(对于 Kotlin),但我所做的一切都没有任何区别。

对于 Spring Boot 和 Java 版本,我也尝试了各种不同的选项,同样没有任何区别。

更新...

我已经确认它只发生在我的一台电脑上,我的主要开发台式电脑。我的笔记本电脑工作正常。

我找不到 2 个 IDEA 安装之间的任何不同之处。

到目前为止我已经尝试解决的问题...

  1. 使缓存无效/重新启动
  2. 管理 IDE 设置 -> 恢复认设置
  3. 删除和重新添加 JDK
  4. 卸载并重新安装 IntelliJ IDEA

我已经尝试了所有我能想到的方法解决这个问题,但问题仍然存在。

基本上我不能在任何新的 Gradle Spring 项目中使用日志记录。它只是不会加载 org.slf4j 库。

更新 2...

问题的本质并不完全是我最初认为的那样。事实证明,在正确导入的情况下,代码编译并运行得很好,但 IDE 将其报告为未解析。

所以这似乎只是 IDE 智能感知的问题。这看起来不那么严重,但编辑器错误显示错误仍然很不方便。

解决方法

在确定问题仅在于 IDE 编辑器智能感知,而不是代码依赖项或项目后,我最终能够通过关闭 IDE,然后删除系统文件夹“C:\Users\AppData\Local\JetBrains\IntelliJIdea2020.3"

重启 IntelliJ IDEA 后,文件夹自动重新创建,问题自行解决。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。