Làm cách nào tôi có thể xóa hoàn toàn Java 6 của Apple và làm cho Java 7 của Oracle mặc định cho mọi thứ?


12

Tôi muốn loại bỏ hoàn toàn Java 6 của Apple và làm cho Java 7 của Oracle được mặc định cho mọi chương trình. Ví dụ, với Eclipse, tôi đã phải sử dụng eclipse.ini để chỉ định JAVA_HOME cho Java 7 và tương tự cho TunnelBear. Mặc dù vậy, không có may mắn cho Aptana (nó vẫn muốn Java của Apple) Có cách nào để làm cho Java của Oracle mặc định về mặt PATH không?

macos  java 

1
Tôi nghĩ Java 7 là mặc định cho PATH vì / usr / bin / java phải là Java 7. Tuy nhiên, vấn đề là với .apps có một cái gì đó khác trong các tệp .plist của họ
user151019

Câu trả lời:


4

Tải xuống và cài đặt Bộ công cụ phát triển Java (JDK) mới nhất từ ​​Oracle, bộ này sẽ đặt nó vào /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk(hoặc bất kể phiên bản mới nhất là gì). Bây giờ, khởi động Terminal.app và nhập các lệnh sau:

  1. cd /System/Library/Java/JavaVirtualMachines (thay đổi thư mục thích hợp)

  2. sudo mv 1.6.0.jdk backup.1.6.0.jdk (giữ JDK cũ xung quanh, chỉ trong trường hợp - bạn sẽ cần phải có mật khẩu quản trị viên để thực hiện việc này)

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk 1.6.0.jdk (liên kết cài đặt JDK mới của bạn đến nơi các ứng dụng mong đợi ứng dụng cũ)

Hãy nhớ rằng với bất kỳ cập nhật jdk nào nữa, bạn sẽ cần cập nhật symlink vào thư mục mới:

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

Bạn không nên tạo symlink 1.6.x, ứng dụng sẽ không mong đợi jdk nằm trong / System. Nếu bất cứ điều gì bạn nên đặt JAVA_HOME trong hồ sơ của bạn.
anddam

2

Các hướng dẫn này hoạt động tốt với tôi trên OS X Mavericks.

  • Xóa các JVM của Apple

    $ sudo rm -rf /System/Library/Java/JavaVirtualMachines/
  • Xóa hồ sơ cài đặt

    $ sudo rm /private/var/db/receipts/com.apple.pkg.JavaForMacOSX*
  • Xóa biên lai cài đặt (xóa các <dict>...</dict>mục tham chiếu com.apple và java)

    $ sudo emacs /Library/Receipts/InstallHistory.plist
  • Đặt các liên kết tượng trưng cho 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
  • Tùy chọn 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

Chà, nếu bạn cài đặt bản cập nhật Java mới nhất từ ​​Apple, thì thực sự nên gỡ cài đặt Java 6. Bạn có thể truy cập trực tiếp vào trang web của Oracle để tải xuống Java 7. Đó là những gì tôi đã làm. Chỉ với Java 7 trên hệ thống của bạn, điều đó sẽ làm cho nó mặc định.


Trên Lion, bản cập nhật Java không gỡ cài đặt java của Apple - / usr / bin / java hiện là Java 7 nhưng Java 6 vẫn có thể sử dụng được như/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
user151019

Tôi chỉ sử dụng Java 7 và nhận các bản cập nhật của Apple trên Java có phần tẻ nhạt. Tôi muốn nó ra - có ai quản lý để có nó theo cách đó chưa? (tức là rất nhiều rằng Apple sẽ không thúc đẩy các bản cập nhật dành riêng cho Java; Tôi sẽ xử lý trực tiếp tất cả thông qua Oracle).
akauppi

0

Tôi biết đây là một chủ đề cũ, nhưng nếu ai đó có Adobe CS5 trên máy của họ, thì PHẢI CÓ phiên bản java 1.6 của Apple để bộ chạy. Tôi đã chạy Eclipse cần 1.7 hoặc cao hơn. Tôi nghĩ rằng nó sẽ thay thế phiên bản Apple, nhưng nó đã không. Phiên bản Apple nằm trong thư mục Hệ thống / Thư viện và phiên bản Oracle nằm trong thư mục Thư viện.

Tôi nghĩ rằng tôi sẽ thêm một chút thông tin cho những người có thể cần thông tin này.

OS X Lion


Thông tin đó là trong câu trả lời khác
user151019

Không kiểm tra. Lấy làm tiếc.
kdd
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.