对于不同的库和不同的项目,此问题间歇地发生。尝试导入库时,将识别包,但无法解析类名。
如果在导入语句I上right-click -> Goto -> the package's declaration
,我看到侧窗格中显示了所有反编译的类-包括我需要的类-如果我尝试自动完成导入语句,我注意到我所需的类未包含在落下。
我已经尝试使缓存无效,无法正常工作。我找不到任何类冲突-我的类路径中没有其他具有相同包名的jar文件。我可以将此类导入其他项目。
请查看屏幕截图:
有人知道吗?
对于不同的库和不同的项目,此问题间歇地发生。尝试导入库时,将识别包,但无法解析类名。
如果在导入语句I上right-click -> Goto -> the package's declaration
,我看到侧窗格中显示了所有反编译的类-包括我需要的类-如果我尝试自动完成导入语句,我注意到我所需的类未包含在落下。
我已经尝试使缓存无效,无法正常工作。我找不到任何类冲突-我的类路径中没有其他具有相同包名的jar文件。我可以将此类导入其他项目。
请查看屏幕截图:
有人知道吗?
Answers:
您可以尝试使缓存无效并重新启动intellij,在许多情况下会有所帮助。
文件->使缓存无效/重新启动
可能有多种原因。就我而言,这是错误的根源问题。无效的缓存无法与其他解决方案一起使用。
检查模块源根。
项目结构(Ctrl+ Alt+ Shift+ S)。
模组
选择您的问题模块。
更改窗口“源”顶部的选项卡。
删除不需要的源根。保留一个并在此根中添加src并测试源根。
检查您的模块依赖性。
在项目控制台中运行以下命令:
mvn idea:idea
做完了 曾多次发生此问题。尝试了“使缓存无效并重新启动”和所有其他解决方案。运行该命令对我来说很完美。我当前正在使用IntelliJ 2019.2,但这在以前的版本中也发生过,并且解决方案也能正常工作。
我发现@ jossef-harush和@ matt-leidholm的以下答案在另一个链接中很有用
Integer
例如),然后按ALT+ ENTER(或单击灯泡图标)Setup JDK
从意向菜单Configure
JDK
路径不正确(指向/opt/jdk1.7.0_51
而不是/opt/jdk1.7.0_65
)JDK
路径当我尝试构建一个新的Java项目时,我也多次遇到此错误。
以下是我如何解决此愚蠢问题的步骤。
src/main/java
。net.gongmingqm10.sketch
。gradle wrapper
,gradle idea
为项目构建gradle东西。build.gradle
文件中添加一些依赖项,然后gradle build
重新导入项目。User.java
并School.java
在现有包中net.gongmingqm10.sketch
解:
首先构建项目,并将main / java标记为源根。用相同的名称创建一个新目录net.gongmingqm10.sketch
。将所有文件从旧的故障排除程序包移到新的程序包。
根本原因:
从树上可以看到。我有一个名为的目录net.gongmingqm10.sketch
。但是我们真正需要的是3个级别的目录:net-> gongmingqm10-> sketch
但是在完成在Intellij中的项目构建之前,我创建了名为 net.gongmingqm19.sketch
,它将为我提供一个的真实目录net.gongmingqm10.sketch
。
当我们尝试导入它时。显然,intellij如何导入名称为的怪异目录下的文件a.b.c
。
@Anton Dozortsev我因类似的行为而发疯;我最终多次重新安装了IDE,直到删除IDEA应用程序,所有缓存,首选项等之后,问题才得以解决。
在此期间,我尝试了各种步骤(例如重新启动,失效,删除.idea
和*.iml
文件及其他)。
原来,问题出在IntelliJ的idea.max.intellisense.filesize
设置上。我已将其设置为100KB,小于依赖项的大小,导致IntelliJ将其显示为未知,就像您的屏幕快照一样。
固定:
单击帮助->编辑自定义属性
将属性设置为更大的值;默认值为2500KB
idea.max.intellisense.filesize=2500
我遇到了同样的问题,其原因是该项目来源的标记不正确。
我手动创建了根目录内容,却没有注意到该src/main/test
文件夹被标记为Sources
而不是Tests
。所以这就是为什么我的测试类被认为具有所有的测试库(JUnit
,Mockito
,等)编译的范围,而不是测试。
标记src/main/test
为“测试”并重新构建模块后,所有错误均消失了。
我上面没有尝试过的任何方法都没有为我工作(不是我尝试了所有建议)。最终的窍门是重命名类-我只是在类名和文件名中添加了2。然后,我手动解析了所有引用。(由于无法识别它们,因此重构不会自动更改引用。)
一旦到处都快乐地解决了“ 2-version”问题,我便可以重构该类并将其从类和文件中删除,然后一切都应按原样进行。
Intelli iDEA会导致这些愚蠢的麻烦@次。简单地转到pom.xml,右键单击并执行-> Maven->重新导入。
这应该可以解决问题。