2015-07-03 246 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

相關問題