我使用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。字符串,"名字":以,……)"此检查报告具有不兼容类型的赋值
对于我尝试过的其他依赖项它工作得很好,即没有像这样的警告。但是IntelliJ仍然看不到它们的类。
这些是我使用Gradle的第一步,所以可能有些东西还没有配置。有人知道哪里出了问题吗?
在将IDEA更新到2020.3版本后,我遇到了同样的问题。
IDEA看到了JDK库,没有看到外部库。
解决方案:
File -> Invalidate Caches / Restart... -> Invalidate and Restart
您的项目设置将被保存,IDEA将继续查看所有外部库。
更简洁的方法是无效缓存/重启。您可以在"文件"菜单中找到此选项。
<标题>编辑Intellij Idea使用iml文件来解析类路径。
标题>在Maven上尝试并得到相同的结果后,很明显,这不是Gradle和JUnit的问题。
删除文件夹~/. ideaic2016.2成功了
如果IDEA不识别单个类或几个类,我所做的是创建具有不同名称的新类,过去那里缺少类的内容,删除旧类并将新类重命名为所需的类。这就解决了问题。
的例子:想法"lost"class SomeEntity.java
:
- 创建
- 经过
SomeEntity.java
到MyAwesomeEntity.java
的内容 - 删除
SomeEntity.java
- 将
MyAwesomeEntity.java
重命名为SomeEntity.java
MyAwesomeEntity.java
类瞧