Eclipse Kepler cho OS X Mavericks yêu cầu Java SE 6


86

Tôi vừa thực hiện cài đặt sạch OS X Mavericksvà tôi đã tải xuống Eclipse Kepler, nhưng nếu tôi thực thi nó, sẽ gửi cho tôi thông báo sau:

nhập mô tả hình ảnh ở đây

Yêu cầu tôi cài đặt Runtime Java SE 6; Tôi đã cài đặt xong Java 7và nếu tôi nhấn Installvào hộp thoại đó, hãy tải xuống và cài đặt nó, đồng thời mở lại Eclipse, hộp thoại sẽ xuất hiện trở lại.

Làm thế nào tôi có thể sửa chữa nó?


Tôi đã gặp lỗi này trước đây trong các phiên bản OSX trước đó, bạn phải quay lại JDK 6 rồi quay lại 7. PITA, tôi biết.
MLProgrammer-CiM

2
Nếu bạn đã cài đặt JRE, bạn có thể chọn từ đó JRE Preferences -> Java -> Installed JREsvà sau đó thêm JRE 7 vào danh sách các JRE đã cài đặt - sẽ giải quyết được vấn đề mà tôi cho là ... Tôi đoán điều này sẽ không giúp được gì nhiều, nếu bạn có thể hoàn toàn không mở Eclipse - có phải vậy không?
Darwind

1
@Darwind tôi không thể mở Eclipse ... nếu tôi nhấn đúp chuột vào biểu tượng Eclipse xuất hiện hộp thoại ...
Piero

1
Tôi đã được nhắc một lần cho một trong các RCP Eclipse của mình (chứ không phải cho một RCP khác mà tôi đã bắt đầu trước đó!), Nó đã không được nhắc lại.
greg-449

2
nó hoạt động, sau khi cài đặt có, tôi đã khởi động lại máy tính và bây giờ hoạt động!
Piero

Câu trả lời:


207

Điều này một phần là do Oracle còn thiếu các định nghĩa về khả năng của JRE8 VM.

Trong trường hợp bạn không muốn cài đặt JRE6 và chỉ cần sử dụng JRE8 mà không cần mã hóa nó với JRE6, bạn có thể làm như sau:

Sao chép danh sách Info.plist ở đường dẫn có tên bên dưới vào ví dụ: ~ / Downloads /:

/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/

và sau đó thay thế

<key>JVMCapabilities</key>
 <array>
  <string>CommandLine</string>
 </array>

với những điều sau đây:

<key>JVMCapabilities</key>
 <array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>CommandLine</string>
 </array>

Sau đó sao chép tệp trở lại vị trí ban đầu (bạn cần có quyền quản trị viên). Để thay đổi này có hiệu lực, bạn cần đăng xuất khỏi tài khoản của mình (và đăng nhập lại) hoặc khởi động lại máy tính. Hộp thoại cho Java 6 sẽ không xuất hiện nữa và Eclipse sẽ khởi chạy tốt bằng cách sử dụng JRE8 (hoặc JRE7). Điều này cũng đúng đối với bất kỳ ứng dụng nào khác ban đầu yêu cầu Java, ví dụ: Adobe's Creative Suite.

Trên một lưu ý liên quan, có vẻ như thay đổi plist này vẫn tồn tại ngay cả sau khi cập nhật được thực hiện thông qua Bảng tùy chọn Java trong Tùy chọn hệ thống.

Nếu nó vẫn không hoạt động. Bạn có thể cần thêm một số thư mục và liên kết biểu tượng ( chi tiết ):

sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries/
sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo mkdir -p /System/Library/Java/Support/Deploy.bundle

Sau khi tôi này đã có một lỗi "Ứng dụng không thể mở được vì nó là từ một nhà phát triển không xác định", những câu dưới đây có giải pháp: stackoverflow.com/questions/19551298/...
Jonoabroad

6
Tôi có thể xác nhận rằng khởi động lại là hoàn toàn không cần thiết. Tôi vừa đăng xuất và đăng nhập lại. Có lẽ là đủ để khởi động lại công cụ tìm, thậm chí không cần đăng xuất, nhưng tôi đã không kiểm tra nó.
Carlo

5
Khởi động lại Finder đã làm điều đó cho tôi.
Trevor Dixon

7
Ban đầu, điều này khiến tôi gặp lỗi Eclipse "Không thể tạo Máy ảo Java", nhưng đó là do / usr / bin / java của tôi đã được liên kết tượng trưng với 1.7 khác (plugin / Library / Internet / ... thay vì / Thư viện / Java ... một). Sau khi sửa liên kết đó, điều này hoạt động tuyệt vời đối với tôi - tôi ước mình có thể đưa ra hai phiếu tán thành!
sage

2
Lời giải thích là trong apple.stackexchange.com/questions/136975/… : "Lỗi xảy ra do JVM không khởi chạy được - bản thân ứng dụng Java đã được mã hóa cứng để tải libserver.dylib. Tệp này tồn tại cho Java 1.6 trở lên, nhưng không dành cho Java 1.7 trở lên. Giải pháp là liên kết thủ công thư viện (có trong Contents / Home / jre / lib / server / libjvm.dylib) vào nơi mong đợi. Một vụ hack xấu xí, nhưng nó đã giải quyết được vấn đề của tôi.
Albert Godfrind

7

Để có thể chạy Eclipse với Java 7 (Oracle), tôi khởi chạy Eclipse bằng cách sử dụng tệp này: eclipse / Eclipse.app / Contents / MacOS / eclipse. thư mục "eclipse" chứa bí danh cho tệp này theo mặc định. Vì vậy, tất cả những gì bạn cần làm là nhấp đúp vào bí danh có tên "eclipse".

Ngoài ra, Oracle cũng cảnh báo rằng phiên bản Java 7u25 trở xuống của Oracle đã bị Apple vô hiệu hóa trên OS X (xem tại đây ). Tôi đã nâng cấp lên phiên bản JDK mới nhất trước khi tìm ra cách khởi chạy Eclipse với Java 7. Vì vậy, tôi không biết liệu việc nâng cấp có cần thiết hay không.


7

Tôi gặp sự cố này sau khi cài đặt Mavericks. Tôi đã có thể giải quyết nó bằng cách cài đặt Java từ bản tải xuống của Apple tại http://support.apple.com/kb/dl1572

Tôi hi vọng cái này giúp được.


7
Đây chỉ là cài đặt lại Java 6. OP yêu cầu cách sử dụng Java 7 làm mặc định.
Ethan Reesor


1

Tôi đã tình cờ làm cho nó chạy mà không có thủ tục như các đề xuất ở trên. Tôi đã xóa thư mục nhật thực và sau đó sao chép lại từ thùng rác. Vui lòng xác minh xem nó có phù hợp với bạn không.


1

Trên MAC OS X, sau khi cài đặt JRE 7 từ Oracle bằng cách sử dụng tải xuống .dmg, khi mở Eclipse, nó vẫn trỏ về JRE 6 cũ của tôi.

Sau nhiều lần tìm kiếm trên google cho vấn đề và đến được đây, trong tuyệt vọng, tôi đã nhấp vào "Tìm kiếm" trong Eclipse -> Preferences -> JRE đã cài đặt và thì đấy - nó đã chọn JRE 7.


1

Trong trường hợp của tôi, với Eclipse 4.5.1 Mars (được cài đặt từ trình cài đặt OS X, tải xuống từ eclipse.org) và OS X El Capitan :


Chỉ thêm vào câu trả lời này - JRE là không đủ. Bạn cần cài đặt JDK và tất cả đều tốt.
Petr Urban
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.