对于不同的库和不同的项目,这个问题会间歇性地发生。 当尝试导入库时,包将被识别,但无法解析类名。
如果在import语句中,我右键单击-> Goto ->包的声明,我看到所有反编译的类显示在侧窗格中——包括我需要的那些—— 如果我尝试自动完成import语句,我注意到我需要的类没有在下拉列表中显示。
我已经试过使缓存无效了,没用。我找不到任何类冲突——在我的类路径中没有其他具有相同包名的jar文件。 我能够将这个类导入到其他项目中。
请查看屏幕截图:
有人知道吗?
对于不同的库和不同的项目,这个问题会间歇性地发生。 当尝试导入库时,包将被识别,但无法解析类名。
如果在import语句中,我右键单击-> Goto ->包的声明,我看到所有反编译的类显示在侧窗格中——包括我需要的那些—— 如果我尝试自动完成import语句,我注意到我需要的类没有在下拉列表中显示。
我已经试过使缓存无效了,没用。我找不到任何类冲突——在我的类路径中没有其他具有相同包名的jar文件。 我能够将这个类导入到其他项目中。
请查看屏幕截图:
有人知道吗?
当前回答
在我的情况下,解决方案是将项目添加为maven项目,除了我作为maven项目导入的事实:P
转到pom.xml ->右键单击->添加为maven项目
其他回答
您可以尝试使缓存无效并重新启动IntelliJ,在许多情况下这将有所帮助。
File ->使缓存失效/重新启动
请尝试File->同步。然后在使IntelliJ失效之前关闭并重新打开。
一旦我重新开始。我会失效,但同步清除一切重新启动后。
我尝试了这里的每一个答案,什么修复了我的问题是删除。idea文件夹,我做了无效缓存和重新启动之前,删除。idea后简单的重新启动,IDE要求重新导入gradle项目,导入后一切开始正常工作。
经过长时间的搜索,我发现在一个maven项目中,我的机器上的一个依赖项以某种方式损坏了。奇怪的是,在编译后的java代码中,依赖项仍然正确地工作。然而,当我清理并重新构建maven依赖项缓存时,问题消失了,IntelliJ识别出了这个包。你可以通过运行:
mvn dependency:purge-local-repository
有趣的是,我的问题的根源不是IntelliJ,而是maven本身。
这可能有多种原因。对我来说,这是错误的根源问题。无效缓存不能与其他解决方案一起工作。
检查模块源根。
项目结构(Ctrl+Alt+Shift+S)。 模块 选择您的问题模块。 在“源”窗口顶部的更改选项卡。 删除不需要的源根。保留一个并在这个根中添加src和test源根。