【发布时间】:2019-04-17 21:45:18
【问题描述】:
我正在 IntelliJ 中处理 Gradle 项目,但 IntelliJ 无法识别某些包。当我转到项目结构 -> 模块 -> <my module> -> 依赖项时,包含这些包的 jar 文件就在那里。 (我已经使用jar tfv <file> 检查了 jar 文件,以确保有问题的类在文件中。)
有问题的类是红色的,当我将鼠标悬停在它们上面时,我会收到诸如“无法解析符号 'somepackagename'”或“无法解析符号 'SomeClassName'”之类的错误。
但是,gradle 项目从命令行编译得很好。
我已经尝试了所有我能找到的现有建议,但到目前为止没有任何帮助。首先,我已经尝试过:
- 删除 .idea 文件夹并重新导入
- 从根 build.gradle 文件重新导入项目
- 点击“刷新所有 gradle 项目”按钮
- 升级 IntelliJ
- 点击“使缓存失效并重新启动”
如何让 IntelliJ 识别这些 jar 文件中的包?
【问题讨论】:
-
请在youtrack.jetbrains.com/issues/IDEA报告并附上要复制的示例项目。
-
@CrazyCoder 如果我能得到一个示例项目,我会这样做,但我希望这可能是一个足够常见的问题,有人(比如你自己)可能能够在这里为其他人回答查看。我看到您的最佳答案是关于一个非常相似的问题:stackoverflow.com/questions/5905896/…您是否建议采取任何其他步骤来排除这是一个错误?
-
由于您已经尝试了所有常见的解决方案,但它们都不起作用,您的问题可能有所不同,并且不是可以仅从描述中立即回答的常见问题。
-
@CrazyCoder 够公平的。由于我是一名 gradle 和 IntelliJ 新手,我想也许我只是遗漏了一些明显的东西,但即使是这样,你说得对,它可能特定于我的情况。我会尝试在现场报告。
-
@CrazyCoder 我在下面想出了一个解决方法,我真的很惊讶。详情如下。我现在告诉 Gradle 将 Gradle 缓存目录中的所有文件视为编译依赖项,然后它会选择以前不会的 jar,即使它会自动在同一个 Gradle 缓存中查找其他 jar。您对以下解决方法为何可行以及可能有哪些更清洁的解决方案有任何想法?
标签: java gradle intellij-idea