แนวคิด Intellij: การนำเข้าโครงการ Gradle - ยังไม่ได้กำหนด JAVA_HOME


335

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

(กำหนดไว้ใน. โปรไฟล์: ส่งออก JAVA_HOME = "$ (/ usr / libexec / java_home -v 1.8)"

ฉันกำลังคิดถึงอะไร ฉันได้ตรวจสอบการสนทนาอื่น ๆ ใน SO แล้วตัวอย่างเช่นตัวแปร Intellij JAVA_HOMEแต่ไม่มีพรอมต์ SDK ของโครงการ


1
ปัญหาเดียวกันบน linux, วิธีแก้ปัญหาเดียวกัน
SparK

สำเนาซ้ำที่เป็นไปได้ของตัวแปร Intellij JAVA_HOME
user123444555621

คำตอบ:


670

คุณต้องตั้งค่า SDK สำหรับโครงการ Java เช่น @rizzletang กล่าว แต่คุณไม่จำเป็นต้องสร้างโครงการใหม่คุณสามารถทำได้จากWelcomeหน้าจอ

ที่ด้านล่างขวาให้เลือกConfigure > Project Defaults > Project Structure: ป้อนคำอธิบายรูปภาพที่นี่

การเลือกProjectแท็บด้านซ้ายจะแสดงว่าคุณไม่ได้เลือก SDK:

ป้อนคำอธิบายรูปภาพที่นี่

เพียงคลิกที่New...ปุ่มทางด้านขวาของดรอปดาวน์แล้วชี้ไปที่ JDK ของคุณ หลังจากนั้นคุณสามารถกลับไปที่หน้าจอนำเข้าและมันควรจะปรากฏขึ้น


31
เมื่อฉันคลิกที่ "JDK" จากดรอปดาวน์ฉันก็ยอมรับโฟลเดอร์เริ่มต้น (Home) ฉันยอมรับค่าเริ่มต้นสำหรับไดเรกทอรีนั้น (เมื่อเปิด) Intellij ได้จำนวนมากของความคิด ... และดูเหมือนว่ามันจะทำงาน ขอบคุณ!
Scott Biggs

3
ขอบคุณ !!! ไร้สาระจริงๆที่มันซับซ้อนเพื่อเริ่มต้นกับโครงการ java / gradle แรกกับ intelliJ ฉันหมายความว่าถ้าเริ่มต้น intelliJ มันต้องรู้อะไรบางอย่างเกี่ยวกับการติดตั้งจาวาในระบบทำไมไม่เพิ่มจาวานี้โดยค่าเริ่มต้นแล้ว ... บางทีนักพัฒนาของพวกเขาอาจสนใจสักวันหนึ่ง
Henning

ที่ดี! BTW ถ้าคุณมีโครงการเปิดสามารถเปิดไดอะล็อกโครงสร้างโครงการ ... ผ่านไฟล์> การตั้งค่าอื่น ๆ
DKroot

2
คน IntelliJ ต้องจ่ายตามจำนวนคลิกที่พวกเขาบังคับให้คุณผ่าน ไม่มีเหตุผลอื่นใดที่จะฝังการตั้งค่าที่เรียบง่ายและสำคัญภายใต้ความสับสน 5 ระดับเว้นแต่แน่นอนพวกเขากำลังแข่งขันกับ Microsoft เพื่อรับรางวัลผลิตภัณฑ์ยอดเยี่ยมแห่งปี
Abhijit Sarkar

36

หากคุณต้องการให้ JAVA_HOME รับรองโดย intellij คุณสามารถทำสิ่งใดสิ่งหนึ่งต่อไปนี้:

  • เริ่มต้น Intellij ของคุณจากเทอร์มินัล / แอปพลิเคชั่น / IntelliJ IDEA 14.app/Contents/MacOS (สิ่งนี้จะเลือกตัวแปร env ของ bash)
  • เพิ่มตัวแปรการเข้าสู่ระบบ env โดยดำเนินการ: launchctl setenv JAVA_HOME "/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"

ตามที่คนอื่นตอบคุณสามารถละเว้น JAVA_HOME โดยตั้งค่า SDK ในโครงสร้างโครงการ


1
โพสต์บล็อกนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับ launchctl และวิธีการระบุตำแหน่งของ. launch.conf สำหรับ MacOS รุ่นใหม่ dowdandassociates.com/blog/content/…
George Pantazes

5

สำหรับแพลตฟอร์มWindows :

ลองเรียกใช้IntelliJ รุ่น64 บิต exe จากพา ธ ที่คล้ายกับที่ติดตาม

โปรดทราบว่ามันมีอยู่ข้างไอเดียเริ่มต้น

"ไฟล์ C: \ Program (x86) \ JetBrains \ IntelliJ IDEA 15.0 \ bin \ idea 64 .exe"

ลิงค์


คำแนะนำสำหรับวิธีการตั้งค่านี้บน windows จะไม่มีประโยชน์มากเนื่องจากขอบเขตของคำถามนี้สำหรับแพลตฟอร์มอื่น
Conrad.Dean

2
@ Conrad.Dean คุณพูดถูก แต่ฉันสิ้นสุดที่นี่เมื่อค้นหาข้อผิดพลาดเดียวกันใน windows และนี่อาจช่วยบางอย่างกับกรณีที่คล้ายกัน ขอบคุณสำหรับความคิดเห็นต่อไป
Iman

3

เพียงเพิ่มความสมบูรณ์ให้กับคำตอบที่เลือกข้างต้นหนึ่งสามารถไปที่หน้าต่าง 'การตั้งค่าโครงการ' (หากไม่ได้อยู่ในหน้าจอต้อนรับ) ใน IntelliJ IDEA โดยคลิก

ไฟล์> โครงสร้างโครงการ (Ctrl + Alt + Shift + S)

และสามารถกำหนด Project SDK ได้ที่นั่น!


1

ตรวจสอบให้แน่ใจว่าคุณมีการติดตั้ง jdk หากต้องการทำสิ่งนี้ให้สร้างโครงการใหม่จากนั้นไปที่ไฟล์ -> โครงสร้างโครงการ จากตรงนั้นคุณสามารถเพิ่ม jdk ใหม่ เมื่อตั้งค่าเสร็จแล้วให้กลับไปที่โครงการไล่ระดับของคุณและคุณควรมี jdk เพื่อเลือกในฟิลด์ 'Gradle JVM'


1

สำหรับ MacOS สิ่งนี้ใช้ได้กับฉันโดยไม่จำเป็นต้อง hardcode เวอร์ชัน Java เฉพาะ:

launchctl setenv JAVA_HOME "$(jenv javahome)"

คำสั่งจริงใช้งานได้สำหรับฉัน% launchctl setenv JAVA_HOME/usr/libexec/java_home
Vagif

0

ลองเริ่มต้น IntelliJ จากเทอร์มินัล คุณสามารถค้นหาไฟล์แอปพลิเคชันได้ที่: / Applications / IntelliJ \ IDEA \ 14.app/Contents/MacOS


มันใช้งานได้ แต่ถ้าฉันไม่ต้องการเรียกใช้จากเชลล์ฉันจะตั้ง IDEA_JDK ได้ที่ไหน?
JohnyTex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.