Intellij无法在导入时解析符号

Asa*_*bgi 104 java import classpath intellij-idea

对于不同的库和不同的项目,此问题会间歇性地发生.尝试导入库时,将识别包,但无法解析类名.

如果在import语句中,我right-click -> Goto -> the package's declaration看到所有反编译的类显示在侧窗格中 - 包括我需要的那些 - 如果我尝试自动完成import语句,我注意到我需要的类没有在落下.

我已经尝试使缓存无效,不起作用.我找不到任何类冲突 - 我的类路径中没有其他jar文件具有相同的包名称.我可以将此类导入其他项目.

请看屏幕截图:

在此输入图像描述

在此输入图像描述

有人有线索吗?

小智 195

您可以尝试使缓存无效并重新启动intellij,在许多情况下它会有所帮助.

文件 - >使高速缓存/重新启动无效

  • 几个星期以来,我每天至少遇到一次这个问题。真的让我很紧张,因为重新索引一切需要永远。 (8认同)
  • @GeRyCh恕我直言,Eclipse清理= Intellij无效缓存 (2认同)
  • “无效缓存/重启”后,打开任何项目都必须等待重新索引!实在是太烦人了!我宁愿删除该文件并重新创建它,wtf! (2认同)

小智 36

这可能有多种原因.在我的情况下,这是错误的源根问题.无效缓存无法与其他解决方案一起使用.

检查模块源根.

  1. 项目结构(Ctrl + Alt + Shift + S).

  2. 模块

  3. 选择您的问题模块.

  4. 更改窗口"源"顶部的选项卡.

  5. 删除不需要的源根.保留一个并在此根目录中添加src和测试源根.

  • 我不知道这是否适用于某些人,但似乎如此,我想知道原因:实际上您的下一个 Gradle 同步将重新创建您刚刚删除的所有源目录。 (2认同)

Har*_*hra 28

File->Invalidate Caches/Restart 并构建您的项目


小智 23

在您的项目控制台中运行此命令:

mvn idea:idea
Run Code Online (Sandbox Code Playgroud)

完毕。多次遇到这个问题。尝试过“使缓存无效并重新启动”和所有其他解决方案。运行该命令对我来说很完美。我目前正在使用 IntelliJ 2019.2,但这也发生在以前的版本中,并且解决方案也有效。

  • 如果我们使用 gradle 呢? (3认同)

小智 12

检查模块依赖性.

  1. 项目结构(Ctrl+ Alt+ Shift+ S).
  2. 模块
  3. 选择您的问题模块.
  4. 更改窗口"依赖关系"顶部的选项卡.
  5. 检查需要的库(可能需要在选项卡'库中添加指定的库)或模块已在此处列出并且它具有正确的范围(主要是'complile').


小智 10

我遇到了类似的问题,迈克的评论帮助我朝着解决它的方向前进.
虽然所需的库也是我项目中模块的一部分,但它需要更改范围.在模块依赖项中,我将范围更改为" 编译 "而不是" 测试 ",现在它对我来说很好.


小智 9

IntelliJ在解决依赖关系方面存在问题.请尝试以下方法:

  1. 右键单击pom.xml - > Maven - > Reimport
  2. 再次右键单击pom.xml - > Maven - >生成源和更新文件夹

  • 右键->Maven后没有“Reimport”。有重载。 (2认同)

eay*_*kin 7

文件- >的Invalidate缓存/重新启动或重建项目并没有工作WOR我.

我的Gradle项目的作用是从IntelliJ v2017右上角的Gradle选项卡中"刷新所有Gradle项目",使用下面显示的黄色标记按钮:

在此输入图像描述


Pip*_*ipo 6

遇到同样的问题,直到我注意到src文件夹被标记为根源而不是java!仅更改为 java (src/main/java) 作为源根解决了我的问题 在此输入图像描述


小智 5

我从另一个链接中发现@jossef-harush@matt-leidholm的以下答案很有用

  • 在 IntelliJ 编辑器中,单击红色关键字Integer例如)并按ALT+ ENTER(或单击灯泡图标)
  • Setup JDK从意图菜单中选择

IntelliJ 意图菜单

  • 点击Configure

项目 SDK 选择对话框

  • 就我而言,JDK路径不正确(指向/opt/jdk1.7.0_51而不是/opt/jdk1.7.0_65

配置 SDK 对话框损坏

  • 单击...并浏览到正确的JDK路径

修复了配置 SDK 对话框

  • 让我们清除缓存

IntelliJ 文件菜单


Waq*_*hir 5

我在这里尝试了每个答案,解决我问题的是删除 .idea 文件夹,在此之前我确实使缓存无效并重新启动,并在删除 .idea 后简单重新启动,IDE 要求重新导入 gradle 项目,导入后一切开始正常工作。