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

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

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

请查看屏幕截图:

有人知道吗?


当前回答

在我的情况下,解决方案是将项目添加为maven项目,除了我作为maven项目导入的事实:P

转到pom.xml ->右键单击->添加为maven项目

其他回答

对于2020.1.4终极版,我必须做以下工作

View -> Maven ->为所有项目生成源代码和更新文件夹

对我来说,问题是图书馆没有被填满 mvn -U从终端清洁安装。

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

mvn idea:idea

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

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

@Anton Dozortsev我被类似的行为逼疯了;我最终重新安装了IDE很多次,只有在删除IDEA应用程序、所有缓存、首选项等之后才解决了这个问题。

在此期间,我尝试了各种步骤(如重新启动、失效、删除.idea和*。Iml文件等。)

事实证明,这个问题是由于IntelliJ的idea.max.intellisense.filesize设置。我把它设置为100KB,这比我的依赖项的大小要小,导致IntelliJ显示它为未知,就像你的截图一样。

Fix:

点击帮助->编辑自定义属性 将属性设置为较大的值;默认为2500KB idea.max.intellisense.filesize = 2500

我有同样的问题,原因是不正确的标记项目的来源。

我手动创建了根内容,没有注意到src/main/test文件夹被标记为“源”而不是“测试”。这就是为什么我的测试类假定它们所有的测试库(JUnit、Mockito等)的范围都是Compile,而不是test。

当我将src/main/test标记为Tests并重新构建模块时,所有错误都消失了。