我将IntelliJ IDEA 2016.2.4与Gradle一起使用。在创建空项目并将简单类与测试类一起添加时,通过Gradle运行build
目标时项目构建正常,但IntelliJ没有看到例如JUnit的@Test
注释,默认情况下包含在依赖项中。
当鼠标悬停在“缺失”类上时,IntelliJ让我将JUnit4添加到类路径中。这样做之后,没有任何改变。
我尝试使缓存无效并重新启动 - 没有成功。
在“外部库”下,有“Gradle:junit:junit:4.11”,项目构建正常,所以我认为这是语法高亮和自动完成的问题。
我不确定它是否重要,但在build.gradle
中,添加对JUnit(testCompile group: 'junit', name: 'junit', version: '4.11'
)的依赖的行会突出显示注释:
'testCompile'不能应用于'(['group':java.lang.String,'name':java.lang.String,...])' 此检查报告具有不兼容类型的分配
它适用于我尝试的其他依赖项,即没有这样的警告。但IntelliJ仍然没有看到他们的课程。
这是我使用Gradle的第一步,所以可能还没有配置。有没有人知道可能出现什么问题?
答案 0 :(得分:1)
在尝试使用Maven并获得相同的结果后,显然Gradle和JUnit都不是问题。
删除文件夹〜/ .IdeaIC2016.2完成了这项工作。
答案 1 :(得分:1)
我在将 IDEA 更新到 2020.3 版本后遇到了同样的问题。
IDEA 看到了 JDK 库,而没有看到外部库。
解决方案:
File -> Invalidate Caches / Restart... -> Invalidate and Restart
您的项目设置将被保存,IDEA 将继续查看所有外部库。
答案 2 :(得分:0)
更干净的方法是使缓存无效/重新启动。您可以在“文件”菜单中找到此选项。
Itellij Idea使用iml文件来解析类路径。很有可能它是不正确的。
答案 3 :(得分:0)
如果 IDEA 无法识别单个类或几个类,我所做的是创建一个具有不同名称的新类,在那里删除缺失类的内容,删除旧类并将新类重命名为所需的类.这解决了问题。
示例:
IDEA“丢失”类SomeEntity.java
:
MyAwesomeEntity.java
SomeEntity.java
的内容传递到 MyAwesomeEntity.java
SomeEntity.java
MyAwesomeEntity.java
重命名为 SomeEntity.java
瞧