Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME

Posted

技术标签:

【中文标题】Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME【英文标题】:Intellij Idea: Importing Gradle project - getting JAVA_HOME not defined yet 【发布时间】:2015-09-21 19:20:13 【问题描述】:

Intellij Idea 14.1.4 Mac OS X Yosemite 10.10.3 及更高版本。

从 IDE:

Import Project ->
(Chosen directory to import) ->
Import project from external model, Gradle ->
Gradle Home: /usr/local/Cellar/gradle/2.4/libexec
Gradle JVM: Use JAVA_HOME (not defined yet)

从外壳:

echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

(在.profile中定义:export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

我错过了什么。我检查了 SO 中的其他讨论,例如 Intellij JAVA_HOME variable,但没有 Project SDK 提示。

【问题讨论】:

linux上同样的问题,同样的解决方案。 Intellij JAVA_HOME variable的可能重复 【参考方案1】:

您需要为 Java 项目设置一个 SDK,就像 @rizzletang 说的那样,但您不需要创建新项目,您可以从 Welcome 屏幕进行。

在右下角,选择Configure > Project Defaults > Project Structure

选择左侧的Project 标签将显示您没有选择任何 SDK:

只需单击下拉列表右侧的New... 按钮并将其指向您的JDK。之后,您可以返回导入屏幕,它应该会显示出来。

【讨论】:

从下拉列表中单击“JDK”后,我只是接受了默认文件夹(主页)。然后我接受了该目录的默认值(打开时)。 Intellij 进行了很多的思考……而且它似乎奏效了。谢谢! 谢谢!!!用 intelliJ 开始第一个 java / gradle 项目是如此复杂,这真的很荒谬。我的意思是,如果 intelliJ 可以启动,它必须已经知道有关系统上安装了 java 的一些信息,为什么不默认添加这个 java...也许他们的一些开发人员有一天会关心。 太棒了!顺便说一句,如果您有一个打开的项目,可以通过 File > Other Settings 访问 Default Project Structure... 对话框。 IntelliJ 人员必须按他们强迫您完成的点击次数付费。没有其他理由将一个简单而重要的设置埋在 5 个默默无闻的级别之下,当然,除非他们正在与微软竞争年度最佳产品奖。【参考方案2】:

如果您想让 intellij 识别您的 JAVA_HOME,您可以执行以下操作之一:

从终端 /Applications/IntelliJ IDEA 14.app/Contents/MacOS 启动您的 intellij(这将选择您的 bash 环境变量) 通过执行添加登录环境变量:launchctl setenv JAVA_HOME "/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"

正如其他人回答的那样,您可以通过在项目结构中设置 SDK 来忽略 JAVA_HOME。

【讨论】:

这篇博文提供了有关 launchctl 的更多信息,以及 .launch.conf 的某些位置如何在较新的 MacOS 中被弃用。 dowdandassociates.com/blog/content/…【参考方案3】:

对于 Windows 平台:

尝试从类似于以下的路径运行 64 位 exe 版本的 IntelliJ。

注意它在默认idea.exe旁边可用

“C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\bin\idea64.exe”

link

【讨论】:

鉴于此问题的范围是针对不同平台的,因此有关如何在 Windows 上进行设置的建议不会很有用。 @Conrad.Dean,你是对的。但是当我在 Windows 中搜索相同的错误时,我最终会出现在这里,这可能会帮助一些有类似情况的人。无论如何感谢您的评论【参考方案4】:

为了补充以上选择的答案的完整性,还可以通过点击进入 IntelliJ IDEA 中的“项目设置”窗口(如果不在欢迎屏幕上):

文件 > 项目结构(Ctrl + Alt + Shift + S)

并且可以在那里定义Project SDK!

【讨论】:

【参考方案5】:

确保您有 jdk 设置。为此,创建一个新项目,然后转到文件 -> 项目结构。从那里您可以添加一个新的 jdk。设置完成后,返回您的 gradle 项目,您应该可以在“Gradle JVM”字段中选择一个 jdk。

【讨论】:

【参考方案6】:

对于 MacOS,这对我有用,无需硬编码特定的 Java 版本:

launchctl setenv JAVA_HOME "$(jenv javahome)"

【讨论】:

实际的命令对我有用 % launchctl setenv JAVA_HOME /usr/libexec/java_home【参考方案7】:

尝试从终端启动 IntelliJ。 您可以在以下位置找到申请文件: /Applications/IntelliJ\ IDEA\ 14.app/Contents/MacOS

【讨论】:

它可以工作,但是如果我不想从 shell 运行,那么我在哪里设置 IDEA_JDK 呢?

以上是关于Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME的主要内容,如果未能解决你的问题,请参考以下文章

导入 Gradle 项目到 IntelliJ IDEA

IntelliJ IDEA如何导入Gradle项目

IntelliJ IDEA导入Gradle项目,并启动项目

如何为 IntelliJ IDEA 项目禁用或启用 Gradle / Maven 自动导入?

Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME

intellij idea 怎么gradle创建spring boot