ฉันจะลบ Java 6 ของ Apple ออกอย่างสมบูรณ์และทำให้ Java 7 ของ Oracle เป็นค่าเริ่มต้นสำหรับทุกสิ่งได้อย่างไร


12

ฉันต้องการลบ Java 6 ของ Apple ออกอย่างสมบูรณ์และทำให้ Java 7 ของ Oracle เป็นค่าเริ่มต้นสำหรับทุกโปรแกรม ตัวอย่างเช่นด้วย Eclipse ฉันต้องเล่นซอกับ eclipse.ini เพื่อระบุ JAVA_HOME สำหรับ Java 7 และเหมือนกันสำหรับ TunnelBear ไม่มีโชคสำหรับ Aptana (แต่ก็ยังต้องการ Apple Java ของ) มีวิธีทำให้ Java ของ Oracle เป็นค่าเริ่มต้นในแง่ของ PATH หรือไม่?

macos  java 

1
ฉันคิดว่า Java 7 เป็นค่าเริ่มต้นสำหรับ PATH เนื่องจาก / usr / bin / java ควรเป็น Java 7 อย่างไรก็ตามปัญหาเกิดขึ้นกับ. แอปพลิเคชันมีอย่างอื่นอยู่ในไฟล์. plist ของพวกเขา
user151019

คำตอบ:


4

ดาวน์โหลดและติดตั้ง Java Development Kit (JDK) ล่าสุดจาก Oracle ซึ่งจะวางไว้ใน/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk(หรือรุ่นล่าสุด) ตอนนี้เริ่ม Terminal.app และป้อนคำสั่งต่อไปนี้:

  1. cd /System/Library/Java/JavaVirtualMachines (เปลี่ยนเป็นไดเรกทอรีที่เหมาะสม)

  2. sudo mv 1.6.0.jdk backup.1.6.0.jdk (เก็บ JDK เก่าไว้เผื่อกรณี - คุณจะต้องมีรหัสผ่านของผู้ดูแลระบบเพื่อทำสิ่งนี้)

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk 1.6.0.jdk (เชื่อมโยงการติดตั้ง JDK ใหม่ของคุณไปยังตำแหน่งที่แอปพลิเคชันคาดหวังว่าจะเป็นเก่า)

โปรดทราบว่าเมื่อมีการปรับปรุง jdk เพิ่มเติมใด ๆ คุณจะต้องอัปเดต symlink ไปยังไดเรกทอรีใหม่:

sudo rm /System/Library/Java/JavaVirtualMachines/1.6.0.jdk && sudo ln -s /Library/Java/JavaVirtualMachines/new_jdk_version /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

คุณไม่ควรสร้าง symlink 1.6.x แอปพลิเคชันจะไม่คาดหวังว่า jdk จะอยู่ใน / ระบบ หากมีสิ่งใดที่คุณควรตั้งค่า JAVA_HOME ไว้ในโปรไฟล์ของคุณ
anddam

2

คำแนะนำเหล่านี้ทำงานได้ดีสำหรับฉันใน OS X Mavericks

  • ลบ JVM ของ Apple

    $ sudo rm -rf /System/Library/Java/JavaVirtualMachines/
  • ลบบันทึกการติดตั้ง

    $ sudo rm /private/var/db/receipts/com.apple.pkg.JavaForMacOSX*
  • ลบการรับโปรแกรมติดตั้ง (ลบ<dict>...</dict>รายการที่อ้างอิง com.apple และ java)

    $ sudo emacs /Library/Receipts/InstallHistory.plist
  • ตั้ง symlink สำหรับ Java 7

    $ sudo rm /usr/bin/java
    $ sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/bin/java /usr/bin/java
  • ทางเลือก symlink JAVA_HOME

    sudo rm /Library/Java/Home
    sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home /Library/Java/Home

0

ถ้าคุณติดตั้งอัพเดท Java ล่าสุดจาก Apple ควรถอนการติดตั้ง Java 6 จริง ๆ คุณสามารถไปที่เว็บไซต์ของ Oracle โดยตรงเพื่อดาวน์โหลด Java 7 นั่นคือสิ่งที่ฉันทำ ด้วย Java 7 เท่านั้นในระบบของคุณที่ควรทำให้เป็นค่าเริ่มต้น


ใน Lion การอัปเดต Java ไม่ได้ถอนการติดตั้ง Java ของ Apple - / usr / bin / java ตอนนี้เป็น Java 7 แต่ Java 6 ยังคงใช้งานได้/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
user151019

ฉันใช้ Java 7 เท่านั้นและการได้รับการอัปเดตของ Apple บน Java นั้นค่อนข้างน่าเบื่อ ฉันต้องการมัน - ใคร ๆ ก็จัดการให้เป็นแบบนั้นเหรอ? (กล่าวมากว่า Apple จะไม่ผลักดันการอัปเดตเฉพาะของ Java; ฉันไม่เข้าใจเรื่องทั้งหมดใน Oracle โดยตรง)
akauppi

0

ฉันรู้ว่านี่เป็นเธรดเก่า แต่ถ้ามี Adobe CS5 บนเครื่องของพวกเขามันต้องมี Java 1.6 เวอร์ชันแอปเปิ้ลเพื่อให้ชุดทำงาน ฉันใช้งาน Eclipse ซึ่งต้องการ 1.7 หรือสูงกว่า ฉันคิดว่ามันจะเข้ามาแทนที่เวอร์ชั่นของ Apple แต่ก็ไม่ได้ รุ่น Apple อยู่ในโฟลเดอร์ System / Library และรุ่น Oracle อยู่ในโฟลเดอร์ Library

คิดว่าฉันจะเพิ่มข้อมูลอีกเล็กน้อยสำหรับผู้ที่อาจต้องการข้อมูลนี้

OS X Lion


ข้อมูลนั้นอยู่ในคำตอบอื่น ๆ
user151019

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