对于不同的库和不同的项目,这个问题会间歇性地发生。 当尝试导入库时,包将被识别,但无法解析类名。
如果在import语句中,我右键单击-> Goto ->包的声明,我看到所有反编译的类显示在侧窗格中——包括我需要的那些—— 如果我尝试自动完成import语句,我注意到我需要的类没有在下拉列表中显示。
我已经试过使缓存无效了,没用。我找不到任何类冲突——在我的类路径中没有其他具有相同包名的jar文件。 我能够将这个类导入到其他项目中。
请查看屏幕截图:
有人知道吗?
对于不同的库和不同的项目,这个问题会间歇性地发生。 当尝试导入库时,包将被识别,但无法解析类名。
如果在import语句中,我右键单击-> Goto ->包的声明,我看到所有反编译的类显示在侧窗格中——包括我需要的那些—— 如果我尝试自动完成import语句,我注意到我需要的类没有在下拉列表中显示。
我已经试过使缓存无效了,没用。我找不到任何类冲突——在我的类路径中没有其他具有相同包名的jar文件。 我能够将这个类导入到其他项目中。
请查看屏幕截图:
有人知道吗?
当前回答
我有同样的问题,原因是不正确的标记项目的来源。
我手动创建了根内容,没有注意到src/main/test文件夹被标记为“源”而不是“测试”。这就是为什么我的测试类假定它们所有的测试库(JUnit、Mockito等)的范围都是Compile,而不是test。
当我将src/main/test标记为Tests并重新构建模块时,所有错误都消失了。
其他回答
我也遇到过类似的问题,迈克的评论帮助我朝着解决它的方向前进。 虽然所需的库也是我项目中模块的一部分,但它需要改变作用域。在模块依赖项中,我将范围更改为“编译”而不是“测试”,现在对我来说工作得很好。
检查模块依赖关系。
项目结构(Ctrl+Alt+Shift+S)。 模块 选择您的问题模块。 更改选项卡顶部的窗口“依赖”。 检查需要什么库(也许,您需要添加指定的库 在标签“库”)或模块已经列出在这里,它有权利 Scope(主要是“编译”)。
什么为我做的是编辑包文件在。idea文件夹,因为我不小心添加源到这个jar库和android无法解决它删除源行标记在b/m图库错误。
然后重建gradle, bam问题就解决了。
我找到根源了!
在我的情况下,我添加了一个jar文件,包括一些java源文件,但我认为java源是坏的,在Intellij Idea依赖库中它自动添加源,所以在编辑器中导入是坏的,只需删除“项目结构”中的源代码->“库”,它为我工作。
您可以尝试使缓存无效并重新启动IntelliJ,在许多情况下这将有所帮助。
File ->使缓存失效/重新启动