java - IntelliJ 无法识别来自 gradle 项目的某些导入

标签 java gradle intellij-idea

我正在 IntelliJ 中处理 Gradle 项目,但 IntelliJ 无法识别某些包。当我进入项目结构 -> 模块 -> <my module> -> Dependencies,包含这些包的jar文件就在那里。 (我用 jar tfv <file> 检查了 jar 文件,以确保有问题的类在文件中。)

有问题的类是红色的,当将鼠标悬停在它们上面时,我收到诸如“无法解析符号'somepackagename'”或“无法解析符号'SomeClassName'”之类的错误。

但是,gradle 项目从命令行编译得很好。

我已经尝试了所有我能找到的现有建议,但到目前为止没有任何帮助。首先,我已经尝试过:

  • 删除.idea文件夹并重新导入
  • 从根 build.gradle 文件重新导入项目
  • 点击“刷新所有 gradle 项目”按钮
  • 升级 IntelliJ
  • 单击“使缓存无效并重新启动”

  • 我该怎么做才能让 IntelliJ 识别这些 jar 文件中的包?

    最佳答案

    我在多项目 Gradle 构建中也遇到过这个问题,它仍然可以用最新的(在撰写本文时)重现 IntellijIDEA 2020.3.2 .它看起来像是某种内部缓存问题,因为即使 IDEA 提示它无法识别可以成功执行构建的类。
    最初我通过使缓存无效并重新启动 IDEA 来修复它,正如这里所建议的那样,但后来发现如果我在 Gradle 工具窗口中重新加载项目,它就会消失:
    enter image description here
    对我来说,它每次都有效。

    关于java - IntelliJ 无法识别来自 gradle 项目的某些导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53308453/

    相关文章:

    java - 在 Perl 中使用文件参数执行 JAR 文件

    gradle - 如何在gradle中使用命令行标志禁用远程构建缓存

    java - Gradle找不到tools.jar

    gradle - 来自 gradle 的 org.gradle.api.internal.LocationAwareException

    java - IntelliJ "navigate declaration"可以配置为支持拆分编辑器吗

    java - 如何将 JSON 转换为 JAVA 对象?

    JavaFX 刷新 TableView 线程

    java - 为什么 3 种算法的平均时间是负数?

    java - 错误 "The matching wildcard is strict, but no declaration can be found for element ' 上下文 :annotation-config'"via tomcat7

    intellij-idea - 如何在 IntelliJ IDEA 上关闭 SonarLint 自动触发