2015-07-03 44 views
307

Intellij Idea 14.1.4 Mac OS X Yosemite 10.10.3及更高版本。Intellij Idea:导入Gradle项目 - 获取未定义的JAVA_HOME

从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中定义:出口JAVA_HOME = “$(在/ usr /的libexec/JAVA_HOME -v 1.8)”

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

+1

同PR在Linux上,同样的解决方案。 – SparK

+0

[Intellij JAVA \ _HOME变量]的可能重复(https://stackoverflow.com/questions/30960103/intellij-java-home-variable) – user123444555621

回答

632

您需要为Java项目设置SDK,例如@rizzletang所说的,但您不需要创建新项目,您可以从Welcome屏幕执行该项目。

屏幕右下方,选择Configure > Project Defaults > Project Structureenter image description here

采摘左侧Project标签会显示你有没有SDK选择:

enter image description here

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

+27

一旦我从下拉列表中点击“JDK”,我只接受默认文件夹(主页)。然后我接受了该目录的默认值(打开时)。 Intellij做了很多的思考......它似乎工作。谢谢! –

+7

这帮助了我2017年! –

+0

谢谢!真的很荒谬,开始使用intelliJ开发第一个java/gradle项目非常复杂。我的意思是,如果intelliJ能够启动,那么它必须已经知道有关系统上安装的java的一些信息,为什么不在默认情况下添加这个java ......也许他们的一些开发人员会关心一天。 – Henning

0

尝试从终端启动IntelliJ。 你可以找到应用程序文件下: /应用/的IntelliJ \ IDEA \ 14.app/Contents/MacOS

+0

它的工作原理,但如果我不想从shell运行,我在哪里设置IDEA_JDK然后? – JohnyTex

1

确保你有一个JDK安装。为此,创建一个新项目,然后转到文件 - >项目结构。从那里你可以添加一个新的jdk。一旦设置好了,回到你的gradle项目,你应该有一个jdk在'Gradle JVM'字段中选择。

2

我想补充completness上述选择的答案,还可以去“项目设置”通过点击IntelliJ IDEA的窗口(如果不是在欢迎屏幕上):

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

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

30

如果你想有你的JAVA_HOME通过的IntelliJ的认可,您可以执行下列操作之一:

  • 开始从终端/应用/ IntelliJ IDEA的14.app/Contents/MacOS您的IntelliJ(这将挑选你的bash ENV变量)
  • 添加登录环境变量通过执行:launchctl setenv JAVA_HOME "/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"

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

+1

此博客文章提供了有关launchctl的更多信息以及.launch.conf的某些位置如何针对较新的MacOS弃用。 http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-slash-etc-slash-launchd-dot-conf/ –

4

对于的Windows平台:

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

需要注意的是可用的默认idea.exe旁边

“C:\ Program Files文件(x86)的\ JetBrains公司\的IntelliJ IDEA 15.0 \ BIN \想法 .EXE”

link

+0

如何设置建议因为这个问题的范围是针对不同的平台的,所以这个在Windows上不会很有用。 –

+1

@康拉德迪恩,你是对的。但是当我在窗口中搜索相同的错误时,我最终在这里,这可能会帮助一些类似的案例。无论如何,我的意见 –

1

适用于MacOS这个工作对我来说,无需硬编码特定 Java版本:

launchctl setenv JAVA_HOME "$(jenv javahome)" 
+0

实际的命令为我工作 **%launchctl setenv JAVA_HOME'/ usr/libexec/java_home ** – Vagif

相关问题