【问题标题】:Java project with Gradle in IntelliJ IDEA: cannot resolve symbol 'google' but project compilesIntelliJ IDEA 中带有 Gradle 的 Java 项目:无法解析符号“google”但项目编译
【发布时间】:2014-08-27 08:35:08
【问题描述】:

我在 IntelliJ IDEA 13.1.2 中使用 Gradle 设置了一个玩具 Java 项目。它编译并运行良好,但 IDE 突出显示 'google' in

import com.google.common.base.Strings;

显示为红色并警告“无法解析符号 'google'”。知道如何解决吗?

我尝试过 1)删除 .idea/ 并在 IntelliJ IDEA 中重新创建项目,以及 2)从手动创建的 Gradle 配置文件 build.gradle 重新导入项目,但无济于事。

【问题讨论】:

标签: java configuration import intellij-idea gradle


【解决方案1】:

我认为用户 Sap 是正确的,至少在我的情况下是这样。您不必手动添加依赖项。

你是否在不同步 intellij 的情况下更改了 gradle 文件中的依赖项?试试这个按钮:

有关详细信息,请参阅: https://www.jetbrains.com/idea/help/synchronizing-changes-in-gradle-project-and-intellij-idea-project.html

【讨论】:

  • 这对我不起作用。只有“使缓存无效并重新启动”有效。
  • ^ IntelliJ 中的文件下拉菜单
【解决方案2】:

检查this

您可以在 [View] - [Tool Windows] - [Gradle] 上简单地打开 Gradle 工具窗口。

在窗口中,您可以通过单击刷新按钮进行刷新。

所有手动直接添加到build.gradle文件中的依赖都将被解析。

【讨论】:

    【解决方案3】:

    在尝试了互联网上列出的所有方法来解决此问题后,对我有用的解决方案之一是安装 lombok 插件。

    转到文件 --> 设置 --> 插件并查找 Lombok。

    Make sure the "Enable annotation processing" is ticked

    【讨论】:

    • 感谢提供链接
    【解决方案4】:

    我的 Gradle 项目使用的是 Intellij 2019.2.3,File->Invalid Cache/Restart... 不起作用,但 View->Tool Windows->Gradle->sync(the circular icon) 立即起作用。

    【讨论】:

      【解决方案5】:

      就我而言,我必须执行以下操作:

      • 关闭项目
      • 关闭思路
      • 删除.idea项目目录
      • 删除(idea.system.path)目录
      • 开始构思

      您可以在这里找到您的idea.system.pathhttps://intellij-support.jetbrains.com/hc/en-us/articles/206544519-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs

      【讨论】:

      • 这是唯一对我有用的东西,除了我没有 idea.system.path 目录(v2021.2.1 Ultimate)
      【解决方案6】:

      原来在IntelliJ IDEA中除了build.gradle之外还需要单独指定依赖包,并显式添加为依赖包。即,

      1. the instruction in documentation之后下载com.google.guava包——我选择com.google.guava:guava-base:r03下载
      2. 按照自动提示的窗口将其作为项目库添加​​到 Java 项目中。
      3. 在项目设置中指定Java模块依赖com.google.guava包。请参阅文档说明"Configuring Module Dependencies and Libraries"

      【讨论】:

      • 不确定是否理解得很好,但将 gradle 项目导入 IntelliJ 效果很好 - 建议使用 gradle 包装器。
      • 这不是否定了使用 gradle 的全部意义吗?
      • 这个链接解决了我遇到的同样的问题jetbrains.com/idea/help/…
      • 这是唯一对我有用的解决方案/描述(IntelliJ 14.1.2):stackoverflow.com/a/31195053/2584278
      【解决方案7】:

      帮助我检查“项目设置/模块”部分中的“依赖项”。显然,Idea 没有正确拾取它们。

      对我有用的步骤:

      1. 从“项目设置/模块”中删除所有模块
      2. 从 Gradle 插件刷新项目 - 触发模块生成

      这个技巧帮助我生成了具有正确依赖关系的模块。 可能是因为最初,我将该项目作为非 Gradle 导入。

      【讨论】:

      • 这也是为我做的,对于那些不知道的人,你可以在文件 -> 项目结构 -> 项目设置/模块下找到它。然后删除那里的所有模块。
      【解决方案8】:

      在我的情况下(Apache Beam 来源)需要./gradlew clean

      【讨论】:

        【解决方案9】:

        在我的情况下,我已将 Gradle 版本(模块:项目)从 3.2.2 更新到 3.5.2,并且 NDK 文件位置存在问题,它位于错误的路径上,我刚刚将其切换到默认的NDK路径,然后使项目失效并重新启动。

        【讨论】:

          【解决方案10】:

          我的导入有误。请检查您的导入是否正确。如果您使用以下方式导入:

          import org.junit.Test 
          

          并且您在类路径中有org.junit.jupiter.api.Test,请尝试使用:

          import org.junit.jupiter.api.Test;
          

          【讨论】:

            猜你喜欢
            • 2020-08-03
            • 2016-08-05
            • 1970-01-01
            • 2018-03-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-03-31
            • 1970-01-01
            相关资源
            最近更新 更多