2

请注意:这不是重复的。我希望Gradle 的 IDEA 插件能够为我正确配置我的 IntelliJ IDEA CE 项目。我对任何涉及手动调整 IntelliJ 以找到我的 JDK 的解决方案不感兴趣。这是一个可以而且应该工作的 Gradle IDEA 插件功能。

如果您可以找到另一个涉及正确获取 Gradle IDEA 插件以配置 IntelliJ(在 Mac 上运行)以便它可以找到 JDK 8+ 的问题,那么请务必将其标记为骗子并提供指向该问题的链接. 否则,请不要将其视为受骗者(不是!)。


Mac 10.9.5 在这里。Java 8 是我的默认 JRE/JDK,我刚刚通过sdkman. 然后我安装了IntelliJ IDEA CE

在我的终端上,我创建了一个test-proj目录,然后在该目录中我发出了以下 Gradle 命令:

gradle init --type groovy-library

Gradle 成功执行,给了我一个 Groovy 项目框架。然后我编辑生成build.gradle的包含 IDEA 插件:

apply plugin: 'idea'

然后我跑了:

gradle wrapper
./gradlew clean idea

这为我生成了 Gradle Wrapper,然后我使用 IDEA 插件为我生成了 IntelliJ 项目文件。然后我打开了全新的 IntelliJ IDE 并转到了Open我的test-proj.

项目打开,一切似乎都很好。但后来我开始编码,并注意到诸如 JRE 类String并没有显示为可解析的。所以我去看了File >> Project Structure这个:

在此处输入图像描述

因此,IntelliJ 似乎找不到我的默认 Java 8 JDK。我知道操作系统可以根据 and 的控制台输出找到JRE和JDK。但是,Gradle 或 IntelliJ 之间的某些东西阻止了 IDE 查找 Java。有任何想法吗?java -versionjavac -versionsdkman

4

1 回答 1

0

我遇到了同样的问题,尽管我通过删除 .idea 文件夹并通过指向我的 build.gradle 文件重新导入项目来运行它。在导入对话框中,我选择了 .ipr 结构,而不是使用“基于文件夹的结构”的想法(默认)

执行gradle idea时,它将在您的项目根目录中生成一个 .ipr 文件来配置您的项目。在我的情况下,jdk 设置正确并且我的模块已正确初始化。

使用 .ipr 文件的原因是,gradle idea 插件无法使用基于目录的结构。也可以看看:

因为我今天发现了这一点,所以我不确定这有多好。或者基于目录和基于 .ipr 之间有什么区别(基于 .ipr 似乎更旧?)。

于 2016-09-15T16:14:25.037 回答