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

如果在import语句中,我右键单击-> Goto ->包的声明,我看到所有反编译的类显示在侧窗格中——包括我需要的那些—— 如果我尝试自动完成import语句,我注意到我需要的类没有在下拉列表中显示。

我已经试过使缓存无效了,没用。我找不到任何类冲突——在我的类路径中没有其他具有相同包名的jar文件。 我能够将这个类导入到其他项目中。

请查看屏幕截图:

有人知道吗?


当前回答

File ->使缓存失效/重新启动 和 构建项目

其他回答

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

尝试从上游清洁专家:

  mvn -U clean install

文件->无效缓存/重新启动或重建项目没有工作wor我。

在我的Gradle项目中起作用的是在IntelliJ v2017的右上角的Gradle选项卡中“刷新所有Gradle项目”,使用如下所示的黄色标记按钮:

我最近在尝试使用Intellij在NiFi上工作时遇到了这个问题,原来问题是NiFi需要Maven >= 3.1.0,而我用(我猜我的默认)签出的版本是3.0.5。更新项目的Maven版本解决了这个问题,所以在某些情况下,Maven版本不对齐可能是一个问题…我猜这是相当不寻常的,但如果你在线程上走了这么远,你可能有一个不寻常的问题:)

这可能有多种原因。对我来说,这是错误的根源问题。无效缓存不能与其他解决方案一起工作。

检查模块源根。

项目结构(Ctrl+Alt+Shift+S)。 模块 选择您的问题模块。 在“源”窗口顶部的更改选项卡。 删除不需要的源根。保留一个并在这个根中添加src和test源根。