我正在学习如何构建"Spring Web"web应用程序使用IntelliJ IDEA,我遇到了一个非常令人沮丧的问题,当我试图创建一个新的项目使用"Spring Initializr"
由于某些原因,当我选择创建"Gradle project",Java或Kotlin时,我无法导入org.slf4j.LoggerFactory
如果我手动添加import语句,它不会解析,如果我试图让InteliJ自动添加导入,它反而添加以下内容…
进口com.sun.org.slf4j.internal.LoggerFactory
这可以满足编辑器,但无法编译。
符号在模块'java.xml '中声明。Crypto '不能导出包' com.sun.org.slf4j.s internal'
如果我创建一个"Maven项目",无论是Kotlin还是Java,那么它就会像预期的那样工作。
我保持其他设置在spring initializr设置为默认值,spring Boot=2.4.2, Java=11
IntelliJ IDEA说没有可用的更新。
我已经做了各种尝试手动添加要构建的slf4j依赖项。gradle(用于Java)或build.gradle.kts(用于Kotlin),我所做的一切都没有改变。
我也尝试了Spring Boot和Java版本的各种不同选项,同样没有任何区别。
更新……
我已经确认它只发生在我的一台电脑上,我的主要开发台式电脑。我的笔记本电脑工作得很好。
我找不到两个IDEA安装之间的任何不同。
事情我已经尝试到目前为止修复它…
- 无效缓存/重启
- 管理IDE设置->恢复默认设置 删除并重新添加JDK的
- 卸载和重新安装IntelliJ IDEA
我已经尝试了我能想到的所有方法来解决这个问题,但问题仍然存在。
基本上我不能在任何新的Gradle Spring项目中使用日志。它无法加载组织。slf4j图书馆。
更新2…
问题的性质并不完全是我最初所想的那样。事实证明,代码在正确导入的情况下编译和运行得很好,但是IDE将其报告为未解析。
所以这似乎只是一个IDE的智能感知问题。这似乎不那么严重,但编辑器错误地显示错误仍然很不方便。
在确定问题只是与IDE编辑器智能感知有关,而不是与代码依赖项或项目有关后,我最终能够通过关闭IDE来解决问题,然后删除系统文件夹"C:Users
重新启动IntelliJ IDEA后,文件夹自动重新创建,问题自行解决。