ด้วยการสิ้นสุดการอัพเดตสาธารณะสำหรับ Java 1.6 ในเดือนกุมภาพันธ์ 2012 และรายการความปลอดภัยที่ยาวในภายหลัง 1.7 ฉันมีแนวโน้มที่จะลบ Java 1.6 และ JDK อย่างถาวรจาก Mac ของฉันถ้าฉันรู้วิธีการทำสิ่งนี้ใน วิธีทำความสะอาด
ด้วยการสิ้นสุดการอัพเดตสาธารณะสำหรับ Java 1.6 ในเดือนกุมภาพันธ์ 2012 และรายการความปลอดภัยที่ยาวในภายหลัง 1.7 ฉันมีแนวโน้มที่จะลบ Java 1.6 และ JDK อย่างถาวรจาก Mac ของฉันถ้าฉันรู้วิธีการทำสิ่งนี้ใน วิธีทำความสะอาด
คำตอบ:
ใน Mac OS X 10.7 นั้น JDK ที่จัดทำโดย Apple (Java 6) ได้รับการติดตั้งใน / System / Library / Java / JavaVirtualMachines / ดังนั้นเพียงแค่ลบมันออกจากที่นั่น
ติดตั้ง JDK โดย Oracle (Java 7) ใน / Library / Java / JavaVirtualMachines /
/Library/Java/JavaVirtualMachines/
ด้วยไม่ใช่/System/Library/
อย่างใดอย่างหนึ่ง
ฉันมีคำถามเดียวกันจนถึงวันนี้
จากmacosx-port-dev Archivesและวิธีถอนการติดตั้ง Java 6 อย่างถูกต้องบน OSX? :
ฉันเห็นด้วยกับการประเมินด้านล่าง
(ข้อความก่อนหน้า)
ฉันไม่รู้คำตอบสำหรับคำถามของคุณ แต่ฉันสามารถแนะนำได้ว่าคุณอาจทำให้เกิดปัญหาที่ไม่จำเป็น
การปรับปรุงความปลอดภัยมีความสำคัญเนื่องจากเว็บไซต์ที่ใช้ Java ประสงค์ร้าย แต่คุณไม่สามารถใช้ Java 6 บนเว็บได้ คุณสามารถเรียกใช้ Java 7 สำหรับแอปเพล็ตเท่านั้น
Java 6 อยู่ในเครื่องของคุณสำหรับซอฟต์แวร์รุ่นเก่าที่ต้องใช้ในแอปพลิเคชันแบบสแตนด์อโลน ปัญหาด้านความปลอดภัยจะไม่ส่งผลกระทบต่อแอพเหล่านี้ ปัญหาด้านความปลอดภัยเป็นเทคนิคการละเมิด Sandbox อย่างต่อเนื่องและแอปแบบสแตนด์อโลนไม่ได้ใช้งาน Java Sandbox
อย่างไรก็ตามหากคุณต้องการกำจัด Java SE 6 ของคุณออกขั้นตอนที่ถูกต้องคือ:
ลบ JVM "system" ที่ติดตั้งและดูแลโดย Software Update
% sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
ลบการพรีวิว Java Developer ใด ๆ
% sudo rm -rf /Library/Java/JavaVirtualMachines/1.6.0*.jdk
อย่าลบเนื้อหาใด ๆใน JavaVM.framework (หมายเหตุ: ภายใต้
/System/Library/Frameworks/JavaVM.framework
)รายการเหล่านั้นต้องการโดย Java 7, 8, 9+ และ Java SE 6 ไม่มี OS X รุ่นใหม่ที่มี Java JDK อยู่ข้างใน
ไปที่ไดเรกทอรี Macintosh HD / Library / Java / JavaVirtualMachines / และลบไฟล์ชื่อ "1.6.0.jdk"
นี่คือเอกสารอย่างเป็นทางการของ oracle เกี่ยวกับวิธีถอนการติดตั้ง jdk จาก mac
เกี่ยวกับคำตอบข้างต้นที่ระบุว่า:
อย่าลบเนื้อหาใด ๆใน JavaVM.framework (หมายเหตุ: ภายใต้
/System/Library/Frameworks/JavaVM.framework
)
เป็นที่น่าสังเกตว่า/System/Library/Frameworks/JavaVM.framework
มีVersions
โฟลเดอร์อยู่และอย่างน้อยก็ในกรณีของฉันVersions
โฟลเดอร์นั้นมี:
lrwxr-xr-x 10 1.4 -> CurrentJDK
lrwxr-xr-x 10 1.4.2 -> CurrentJDK
lrwxr-xr-x 10 1.5 -> CurrentJDK
lrwxr-xr-x 10 1.5.0 -> CurrentJDK
lrwxr-xr-x 10 1.6 -> CurrentJDK
lrwxr-xr-x 10 1.6.0 -> CurrentJDK
drwxr-xr-x 238 A
lrwxr-xr-x 1 Current -> A
lrwxr-xr-x 59 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
ดูเหมือนว่าไม่มีประโยชน์ที่จะปล่อยให้ CurrentJDK ชี้ไปที่ไดเรกทอรีที่ไม่มีอยู่จริงดังนั้นฉันจึงรันคำสั่งนี้ใน/System/Library/Frameworks/JavaVM.framework/Versions
โฟลเดอร์:
sudo ln -sf /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents CurrentJDK
เนื่องจากนั่นคือที่ติดตั้ง JDK ใหม่ของฉัน
UPDATE:หลังจากลบ Java 1.6 ออกจากเครื่องของฉันในครั้งต่อไปที่ฉันเรียกใช้ PhpStorm มันบอกฉันว่าต้องดาวน์โหลดและติดตั้ง Java SE 6 รันไทม์ หลังจากนั้นการเชื่อมโยงเป็นรีเซ็ต/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
ดังนั้นดูเหมือนว่า 1.6 JDK (หรืออย่างน้อยส่วน JRE ของมัน) อาจกลับมาขึ้นอยู่กับแอพอื่น ๆ ที่คุณใช้
brew install maven
มันจะดู symlink ที่ตายแล้วนี้สำหรับ CurrentJDK และล้มเหลว ดูเหมือนว่าการเชื่อมโยงไปยังเวอร์ชันที่ใหม่กว่าจะใช้งานได้
JVMVersion
กุญแจอยู่ในนั้น ที่มา: intellij-support.jetbrains.com/entries/…