Intellij IDEA没有看到课程,但通过Gradle工作

时间:2016-10-10 06:19:17

标签: java ubuntu intellij-idea gradle junit

我将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的第一步,所以可能还没有配置。有没有人知道可能出现什么问题?

4 个答案:

答案 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

  1. 创建类MyAwesomeEntity.java
  2. SomeEntity.java 的内容传递到 MyAwesomeEntity.java
  3. 删除SomeEntity.java
  4. MyAwesomeEntity.java 重命名为 SomeEntity.java