IntelliJ IDEA 中带有 Gradle 的 Java 项目:无法解析符号“google”但项目编译
Posted
技术标签:
【中文标题】IntelliJ IDEA 中带有 Gradle 的 Java 项目:无法解析符号“google”但项目编译【英文标题】:Java project with Gradle in IntelliJ IDEA: cannot resolve symbol 'google' but project compiles 【发布时间】: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
重新导入项目,但无济于事。
【问题讨论】:
查看你的IDEA项目的依赖和工件。 How do I get IntelliJ to resolve Gradle dependencies for custom source sets? 的可能重复项 gradle有一个“idea”插件,见上面链接的问题 【参考方案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.path
:https://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
之外还需要单独指定依赖包,并显式添加为依赖包。即,
-
在the instruction in documentation之后下载
com.google.guava
包——我选择com.google.guava:guava-base:r03
下载
按照自动提示的窗口将其作为项目库添加到 Java 项目中。
在项目设置中指定Java模块依赖com.google.guava
包。请参阅文档说明"Configuring Module Dependencies and Libraries"。
【讨论】:
不确定是否理解得很好,但将 gradle 项目导入 IntelliJ 效果很好 - 建议使用 gradle 包装器。 这不是否定了使用 gradle 的全部意义吗? 这个链接解决了我遇到的同样的问题jetbrains.com/idea/help/… 这是唯一对我有用的解决方案/描述(IntelliJ 14.1.2):***.com/a/31195053/2584278【参考方案7】:帮助我检查“项目设置/模块”部分中的“依赖项”。显然,Idea 没有正确拾取它们。
对我有用的步骤:
-
从“项目设置/模块”中删除所有模块
从 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;
【讨论】:
以上是关于IntelliJ IDEA 中带有 Gradle 的 Java 项目:无法解析符号“google”但项目编译的主要内容,如果未能解决你的问题,请参考以下文章
intellij idea 怎么gradle创建spring boot
intellij idea 2017 gradle构建spring-boot web项目