ฉันจะถอนการติดตั้ง Java6 จาก Mac OS X ได้อย่างไร


30

ด้วยการสิ้นสุดการอัพเดตสาธารณะสำหรับ Java 1.6 ในเดือนกุมภาพันธ์ 2012 และรายการความปลอดภัยที่ยาวในภายหลัง 1.7 ฉันมีแนวโน้มที่จะลบ Java 1.6 และ JDK อย่างถาวรจาก Mac ของฉันถ้าฉันรู้วิธีการทำสิ่งนี้ใน วิธีทำความสะอาด

ประกาศ Oracle Java EOL

คำตอบ:


28

ใน Mac OS X 10.7 นั้น JDK ที่จัดทำโดย Apple (Java 6) ได้รับการติดตั้งใน / System / Library / Java / JavaVirtualMachines / ดังนั้นเพียงแค่ลบมันออกจากที่นั่น

ติดตั้ง JDK โดย Oracle (Java 7) ใน / Library / Java / JavaVirtualMachines /


Oracle ติดตั้งให้ติดกันในไดเรกทอรีนี้: / Library / Java / JavaVirtualMachines / `1.7.0.jdk jdk1.7.0_06.jdk jdk1.7.0_07.jdk jdk1.7.0_09.jdk jdk1.7.0_11.jdk jdk1 7.0_13.jdk jdk1.7.0_15.jdk jdk1.7.0_17.jdk jdk1.7.0_21.jdk jdk1.7.0_25.jdk `
bbaassssiiee

3
ฉันต้องการแสดงความคิดเห็นว่าถ้าคุณติดตั้งจาวา 6 จากตัวติดตั้ง Java ของ Apple (เช่นคุณไม่มีจาวาติดตั้งไว้ล่วงหน้าบน Mac OS ตามปกติตอนนี้) จาวา 6 จะถูกติดตั้ง/Library/Java/JavaVirtualMachines/ด้วยไม่ใช่/System/Library/อย่างใดอย่างหนึ่ง
เรียว

18

ฉันมีคำถามเดียวกันจนถึงวันนี้

จาก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 อยู่ข้างใน


6

ไปที่ไดเรกทอรี Macintosh HD / Library / Java / JavaVirtualMachines / และลบไฟล์ชื่อ "1.6.0.jdk"

แหล่ง

นี่คือเอกสารอย่างเป็นทางการของ oracle เกี่ยวกับวิธีถอนการติดตั้ง jdk จาก mac


6

เกี่ยวกับคำตอบข้างต้นที่ระบุว่า:

อย่าลบเนื้อหาใด ๆใน 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 ของมัน) อาจกลับมาขึ้นอยู่กับแอพอื่น ๆ ที่คุณใช้


+1 เมื่อคุณลองbrew install mavenมันจะดู symlink ที่ตายแล้วนี้สำหรับ CurrentJDK และล้มเหลว ดูเหมือนว่าการเชื่อมโยงไปยังเวอร์ชันที่ใหม่กว่าจะใช้งานได้
Skylar Saveland

1
ฉันรู้ว่ามันเก่า แต่ PHPStorm ทำงานกับ JDK รุ่นใหม่กว่าคุณต้องแก้ไขไฟล์ info.plist มีJVMVersionกุญแจอยู่ในนั้น ที่มา: intellij-support.jetbrains.com/entries/…
ianbarker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.