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

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

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

请查看屏幕截图:

有人知道吗?


当前回答

在项目控制台中运行以下命令:

mvn idea:idea

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

其他回答

我找到根源了!

在我的情况下,我添加了一个jar文件,包括一些java源文件,但我认为java源是坏的,在Intellij Idea依赖库中它自动添加源,所以在编辑器中导入是坏的,只需删除“项目结构”中的源代码->“库”,它为我工作。

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

检查模块源根。

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

IntelliJ在解决依赖关系时存在问题。 试试下面的方法:

右键单击pom.xml -> Maven ->重新导入 再次右键单击pom.xml -> Maven ->生成源代码并更新文件夹

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

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

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