【问题标题】:Intellij IDEA doesn't see classes but building via Gradle worksIntellij IDEA 看不到类,但通过 Gradle 构建工作
【发布时间】:2017-02-18 12:32:33
【问题描述】:

我将 IntelliJ IDEA 2016.2.4 与 Gradle 一起使用。当创建一个空项目并添加一个简单的类和一个测试类时,通过 Gradle 运行 build 目标时项目构建良好,但 IntelliJ 看不到例如@Test JUnit 注释,默认包含在依赖项中。

当悬停在“丢失的”类上时,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 的第一步,所以可能还没有配置一些东西。有谁知道可能出了什么问题?

【问题讨论】:

    标签: java ubuntu intellij-idea gradle junit


    【解决方案1】:

    在尝试使用 Maven 并获得相同结果后,很明显 Gradle 和 JUnit 都没有问题。

    删除文件夹 ~/.IdeaIC2016.2 完成了这项工作。

    【讨论】:

      【解决方案2】:

      更简洁的方法是使缓存无效/重新启动。您可以在“文件”菜单中找到此选项。

      编辑

      Intellij Idea 使用 iml 文件来解析类路径。很有可能它不正确。

      【讨论】:

        【解决方案3】:

        在将 IDEA 更新到 2020.3 版本后,我遇到了同样的问题。
        IDEA 看到了 JDK 库,没有看到外部库。
        解决方案:

        File -> Invalidate Caches / Restart... -> Invalidate and Restart
        

        您的项目设置将被保存,IDEA 将继续查看所有外部库。

        【讨论】:

          【解决方案4】:

          如果 IDEA 无法识别单个类或几个类,我所做的是创建具有不同名称的新类,将缺少的类的内容过去,删除旧类并将新类重命名为所需的类.这样就解决了问题。

          示例: IDEA“迷路”课SomeEntity.java

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-22
            • 2021-06-06
            相关资源
            最近更新 更多