ฉันจะเรียกใช้ IDEA IntelliJ บน Mac OS X ด้วย JDK 7 ได้อย่างไร


86

ฉันใช้ Mac OS X 10.8.2 และใช้ JDK 7 ตอนนี้ฉันดาวน์โหลด IDEA IntelliJ เวอร์ชันล่าสุด 11 แล้ว แต่ดูเหมือนจะไม่เริ่มต้นหากไม่มี JDK 6 มีวิธีแก้ปัญหาหรือไม่?

ฉันจะเรียกใช้ IDEA IntelliJ บน Mac OS X ด้วย JDK 7 ได้อย่างไร


3
ฉันประสบปัญหาที่คล้ายกันเมื่อติดตั้ง JDK 8 และสามารถแก้ไขได้โดยเปลี่ยนค่า JVMVersion เป็น 1.8 * จาก 1.6 * ใน "/ Applications / IntelliJ IDEA 13.app/Contents/Info.plist"
Mrugen Deshmukh

คำตอบ:


74

อัพเดท:

เมื่อรัน IDEA 12 บน JDK 1.7 (หลังจากเปลี่ยนJVMVersionเป็น1.7*ในInfo.plist) ตรวจสอบให้แน่ใจว่าคุณมีLANG=en_US.UTF-8ในสภาพแวดล้อมของคุณดูปัญหา Java ที่เกี่ยวข้อง:

อ้างถึงเธรดนี้สำหรับการดีบักปัญหาตัวเรียกใช้งาน

โปรดทราบด้วยว่าแอปพลิเคชัน GUI บน Mac ไม่สามารถเข้าถึงสภาพแวดล้อม Terminal ของคุณได้ หากคุณได้กำหนดตัวแปรสภาพแวดล้อมบางตัวที่ทำงานได้ดีใน Terminal แอปพลิเคชันอื่น ๆ ที่คุณไม่ได้เรียกใช้จาก Terminal จะไม่เห็นตัวแปรเหล่านี้ วิธีแก้ปัญหาสำหรับปัญหานี้คือการเริ่มต้นแอปพลิเคชันโดยตรงจาก Terminal สำหรับ IDEA สามารถใช้คำสั่งต่อไปนี้:

open -a /Applications/IntelliJ\ IDEA\ 12.app/

มีปัญหาที่พบกับ JDK 1.7 การสนับสนุนบน Mac อยู่ในขณะนี้เช่นหายไปสนับสนุน Retina, การสั่นไหวไปได้APIs บางอย่างไม่ได้ดำเนินการ ขอแนะนำให้ใช้ IDEA ภายใต้ JDK 1.6 เพื่อประสบการณ์ที่ดีที่สุดบน Mac ไม่ได้หยุดคุณจากการใช้ JDK 1.7 เป็นเป้าหมายในการสร้างและดำเนินโครงการของคุณ


IntelliJ IDEA 11 launcher จะไม่ทำงานกับ JDK 1.7 บน Mac ในขณะนี้คุณต้องติดตั้ง JDK 1.6 เพื่อให้คุณสามารถรัน IDEA 11 และเวอร์ชันเก่ากว่าได้


4
นั่นไม่ได้ผลสำหรับฉัน เมื่อฉันเปลี่ยนJVMVersionไป1.7*และพยายามที่จะเริ่มต้นความคิด 12 ก็ยังได้รับข้อความที่ฉันต้องการ JRE 6
โจนัส

8
สิ่งนี้ใช้ไม่ได้กับฉันเช่นกัน การรันการติดตั้ง Mountain Lion ใหม่, Java 7 Update 10, IDEA 12 ยังคงขอ Java 6 การเรียกใช้java -versionจาก Terminal ทำงานได้ดี ความคิด?
9ee1

2
ปัญหาเรตินาได้รับการแก้ไขใน Java 7u40: stackoverflow.com/a/17029720/13365
neu242

2
หลังจากแก้ไข plist ตรวจสอบให้แน่ใจว่าได้ลาออกจาก App Bundle เพื่อหลีกเลี่ยงการแจ้งเตือนที่จู้จี้และค้างเป็นระยะ ๆ เมื่อเริ่มต้น สร้างใบรับรองการลงนามรหัสแล้วเรียกใช้sudo codesign --verbose --force --sign "<CERT COMMON NAME>" /Applications/WebStorm.app/
tony19

2
@Jonas ให้ดูเป็นทางการคำตอบ JetBrains
CrazyCoder

68

อัปเดต Mac OSX Yosemite / El Capitan

ฉันติดตั้ง IntelliJ 15 Ultimate แล้วและได้รับข้อความเดียวกันนี้ ฉันติดตั้ง Java 1.7 และ 1.8 ด้วย

ฉันแก้ไขโดยใช้ขั้นตอนต่อไปนี้ในเทอร์มินัล:

$ cd /Applications/IntelliJ\ IDEA\ 14.app/Contents

แก้ไขInfo.plistไฟล์และเปลี่ยนบิตนี้:

<key>JVMVersion</key>
<string>1.6*</string>

ถึง:

<key>JVMVersion</key>
<string>1.8*</string>

หลังจากเปิดตัวทุกอย่างก็เป็นสีทอง


1
ใช้งานได้เหมือนมีเสน่ห์ ขอขอบคุณ!
ช่างประปาหลัก

4
"ทุกอย่างเป็นสีทอง" ใช่ยกเว้นว่าตอนนี้แบบอักษรจะดูแย่และ
บาดตา

สำหรับฉันที่ใช้ IntelliJ 14, OSX 10.10 และ Java 7 หรือ 8 มันทำให้ Mac Air ของฉันแข็งตัวและฉันรีเซ็ตฮาร์ดได้ไม่ดีและต้องรีบูตถึง 20 ครั้งเพื่อเริ่ม OSX อีกครั้ง วิธีแก้ปัญหาสำหรับฉัน: ถอนการติดตั้งเวอร์ชัน Java ทั้งหมด ติดตั้งเฉพาะ java 1.6 จาก apple ( support.apple.com/kb/DL1572 ) ติดตั้ง SDK / JDK 7/8 ที่จำเป็นและกำหนดค่าใน IntelliJ และ Project Structure ตามต้องการ เป็นช่วงเวลาที่ยากลำบากสำหรับฉันที่จะเห็น Mac Air ไม่บูตอีกต่อไป ปัญหานี้ควรได้รับการสื่อสารให้ดีขึ้นโดย Oracle, Google และ IDEA สำหรับ IntelliJ และ Android สำหรับผู้ใช้ Mac! ต้นทุนเวลาสำหรับฉัน: 4 ชั่วโมง
Freddy

ก่อนหน้านี้เมื่อฉันทำสิ่งนี้ฉันมีปัญหาที่ Mac ไม่ยอมให้ฉันใช้พวงกุญแจสำหรับรหัสผ่าน teamcity และ svn ของฉันเพราะฉันแก้ไขโฟลเดอร์แอปพลิเคชัน คุณรู้หรือไม่ว่าปัญหานี้จะปรากฏขึ้นตอนนี้หรือไม่?
Carlos Bribiescas

1
นี่ไม่ใช่วิธีที่แนะนำในการรัน Idea ด้วย java 8 บน Mac Os X โปรดดูวิธีที่ถูกต้อง: youtrack.jetbrains.com/issue/IDEA-126847
Riccardo Cossu

27

ด้วย IntelliJ 13 และ OS X 10.9 ฉันสามารถเปลี่ยน plist เป็น 1.7 * และทำงานบน Java 7 โดยไม่ต้องแจ้งให้ติดตั้ง Java 6


1
ฉันเพิ่งลองสิ่งนี้บน OS X 10.8.5 กับ Oracle JDK 1.7.0_45 และ IntelliJ 13.0.2 และแบบอักษรดูแย่มาก ติด JRE 6 ตอนนี้!
Steve K

2
ฉันเพิ่งลองสิ่งนี้บน OS X 10.9.1 กับ Oracle JDK 1.7.0_51 และ IntelliJ 13.0.2 และแบบอักษรก็ดูดีบนจอภาพเรตินา พวกเขามองไม่ชัดด้วย JDK 1.7.0_25 มีคนกล่าวว่า Oracle แก้ไขปัญหาใน 1.7.0_40 รับข้อมูลล่าสุดได้ที่นี่: oracle.com/technetwork/java/javase/downloads/…
jaredjacobs

น่าเศร้าที่การแฮ็ก plist ทำให้ไฟร์วอลล์แจ้งทุกครั้งที่โหลด IntelliJ: stackoverflow.com/questions/13578062/… ไหนแย่กว่ากัน? มีการติดตั้ง JRE6 หรือพร้อมต์ทุกครั้งที่โหลด IntelliJ? :)
Spyder

2
@Spyder เนื่องจากลายเซ็นของแอปเปลี่ยนไปหลังจากที่คุณเปลี่ยน plist คุณต้องลาออกจาก App Bundle เพื่อป้องกันการแจ้งเตือนที่จู้จี้ สำหรับ Webstorm ฉันได้สร้างใบรับรองการเซ็นชื่อรหัสในพวงกุญแจการเข้าสู่ระบบของฉัน ( developer.apple.com/library/mac/documentation/security/… ) จากนั้นจึงเรียกใช้sudo codesign --verbose --force --sign "<Cert Name>" /Applications/Webstorm.app/
tony19

3

สำหรับผู้ที่ยังคงได้รับข้อความแสดงข้อผิดพลาดว่าต้องติดตั้ง Java 6 มีสองปัญหา:

  1. Mac OS ต้องการให้ติดตั้ง jdk 1.6 เมื่อใดก็ตามที่ไฟล์ Info.plist ของแอปพลิเคชันมีส่วน Java
  2. Java launcher ที่มาพร้อมกับ IntelliJ ยังต้องการ jdk 1.6 ไม่ดี

สิ่งที่คุณต้องการคือ:

  1. แทนที่ตัวเรียกใช้งานดั้งเดิม (เนื้อหา / MacOS / ไอเดีย) ด้วยเชลล์สคริปต์ด้วยการเรียกใช้ java อย่างชัดเจน (พารามิเตอร์และ classpath สามารถนำมาจากส่วน Java ของ Info.plist)
  2. ลบส่วน "Java" ออกจาก Info.plist

หรือคุณสามารถใช้https://github.com/wonder-mice/mac-java-launcherซึ่งทำให้สิ่งต่าง ๆ เป็นไปโดยอัตโนมัติและฉันเชื่อว่าจะใช้งานได้ไม่เพียง แต่กับ IntelliJ


ฉันลองmac-java-launcherกับ IntelliJ 13 แต่ไม่ได้ผล Got Error: Not a java application
Wim Deblauwe

1
Wim Deblauwe ควรได้รับการแก้ไขใน mac-java-launcher เวอร์ชันใหม่
wonder.mice

2

คนอื่นแนะนำวิธีแก้ปัญหาที่ดีมาก แต่คุณต้องทำด้วยตัวแก้ไข vi ด้วยตนเองเป็นต้น แต่คุณสามารถเรียกใช้คำสั่งนี้ผ่าน Mac Terminal ของคุณและคุณจะไปได้ดี:

find /Applications/IntelliJ*/*Contents/*Info.plist  -exec sed -i -e 's/string>1.6/string>1.7/' {} \;

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

เคล็ดลับเพิ่มเติมเล็กน้อย:

  1. หากคุณติดตั้ง JDK 1.8 แล้วเพียงแค่แทนที่ 1.7 ด้วย 1.8 ในคำสั่งด้านบน
  2. เช่นเคยทำสำเนา Info.plist ของคุณในโฟลเดอร์ในกรณีที่คุณต้องการเปรียบเทียบผลลัพธ์หรือเปลี่ยนกลับด้วยเหตุผลใดเหตุผลหนึ่ง
  3. ในการตรวจสอบว่าการเปลี่ยนแปลงเกิดขึ้นให้เรียกใช้สิ่งนี้:

    • grep "string>1.7" /Applications/IntelliJ*/*Contents/*Info.plist

1
ขอบคุณนี่เป็นวิธีที่ง่ายที่สุดในการบังคับให้แอป jetbrains ทำงานบน java 8
Sergey Lysenko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.