Làm cách nào để gỡ cài đặt Java6 khỏi Mac OS X


30

Với việc kết thúc các bản cập nhật công khai cho Java 1.6 vào tháng 2 năm 2012 và danh sách dài các bản cập nhật bảo mật vào ngày 1.7 sau này, tôi có xu hướng loại bỏ Java 1.6 và JDK vĩnh viễn khỏi máy Mac của tôi, nếu tôi chỉ biết cách thực hiện điều này trong một cách sạch sẽ.

Thông báo EOL của Java

Câu trả lời:


28

Trong Mac OS X 10.7, JDK do Apple cung cấp (Java 6) được cài đặt trong / System / Library / Java / JavaVirtualMachines / vì vậy chỉ cần xóa nó từ đó

JDK do Oracle (Java 7) cung cấp được cài đặt trong / Library / Java / JavaVirtualMachines /


Oracle cài đặt chúng cạnh nhau trong thư mục này: / 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.jd 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
Tôi chỉ muốn nhận xét rằng nếu bạn cài đặt java 6 từ trình cài đặt Java của Apple (tức là bạn chưa cài đặt sẵn java trên Mac OS, như hiện tại), java 6 cũng sẽ được cài đặt /Library/Java/JavaVirtualMachines/chứ không phải cài đặt /System/Library/.
giảm dần

18

Tôi đã có cùng một câu hỏi cho đến ngày hôm nay.

Từ Kho lưu trữ macosx-port-devCách gỡ cài đặt Java 6 trên OSX đúng cách? :

Tôi đồng ý với đánh giá dưới đây,

(Tin nhắn trước)

Tôi không biết câu trả lời cho câu hỏi của bạn, nhưng tôi có thể đề nghị rằng bạn có thể gây ra cho mình những vấn đề không cần thiết.

Cập nhật bảo mật rất quan trọng vì các trang web sử dụng Java độc hại. Nhưng dù sao bạn cũng không thể sử dụng Java 6 trên web. Bạn chỉ có thể chạy Java 7 cho các applet.

Java 6 có trên máy của bạn để có phần mềm kế thừa dựa trên nó trong các ứng dụng độc lập. Các vấn đề bảo mật sẽ không ảnh hưởng đến các ứng dụng này. Các vấn đề bảo mật luôn là các thủ thuật vi phạm hộp cát và các ứng dụng độc lập không chạy Java sandbox.

tuy nhiên nếu bạn muốn loại bỏ máy Java SE 6 của mình, quy trình đúng là:

Xóa JVM "hệ thống" được cài đặt và duy trì bằng Cập nhật phần mềm

% sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Xóa mọi bản xem trước của nhà phát triển Java

% sudo rm -rf /Library/Java/JavaVirtualMachines/1.6.0*.jdk

KHÔNG xóa bất kỳ nội dung nào trong JavaVM.framework (Lưu ý: Nội dung bên dưới /System/Library/Frameworks/JavaVM.framework)

Các mục đó được yêu cầu bởi Java 7, 8, 9+ cũng như Java SE 6. Không có phiên bản hiện đại nào của OS X có JDK Java bên trong.


6

Chuyển đến thư mục Macintosh HD / Library / Java / JavaVirtualMachines / và xóa tệp có tên "1.6.0.jdk."

Nguồn

Đây là tài liệu chính thức về cách gỡ cài đặt jdk từ máy mac


6

Về câu trả lời trên có nội dung:

KHÔNG xóa bất kỳ nội dung nào trong JavaVM.framework (Lưu ý: Nội dung bên dưới /System/Library/Frameworks/JavaVM.framework)

Điều đáng chú ý là /System/Library/Frameworks/JavaVM.frameworkcó chứa một Versionsthư mục và ít nhất là trong trường hợp của tôi, Versionsthư mục đó chứa:

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

Có vẻ không hữu ích khi để CurrentJDK chỉ vào một thư mục không tồn tại, vì vậy tôi đã chạy lệnh này trong /System/Library/Frameworks/JavaVM.framework/Versionsthư mục:

sudo ln -sf /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents CurrentJDK

vì đó là nơi JDK mới của tôi được cài đặt.

CẬP NHẬT: Sau khi gỡ bỏ Java 1.6 khỏi máy của tôi, lần sau khi tôi chạy PhpStorm, nó nói với tôi rằng nó cần phải tải xuống và cài đặt thời gian chạy Java SE 6. Sau đó, /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDKliên kết đã được đặt lại /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents. Vì vậy, dường như 1.6 JDK (hoặc ít nhất là phần JRE của nó) có thể tiếp tục quay trở lại, tùy thuộc vào các ứng dụng khác mà bạn sử dụng.


+1 khi bạn cố gắng brew install mavennó sẽ xem liên kết tượng trưng chết này cho CurrentJDK và không thành công. Liên kết đến phiên bản mới hơn dường như hoạt động.
Skylar Saveland

1
Tôi biết điều này đã cũ, nhưng để PHPStorm hoạt động với các phiên bản mới hơn của JDK, bạn cần sửa đổi tệp thông tin của nó. Có một JVMVersionchìa khóa trong đó. Nguồn: intellij-support.jetbrains.com/entries/ từ
ianbarker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.