Tôi đã cài đặt Oracle Java JDK 8 nhưng dòng lệnh java vẫn báo cáo đó là phiên bản 7 [trùng lặp]


25

Tôi đã cài đặt jdk 1.8.0 u5, nhưng dòng lệnh java đang báo cáo 1.7:

$ java -fullversion
java full version "1.7.0_51-b13"

$ which java
/usr/bin/java

$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Oct 23  2013 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Đây là những gì được cài đặt

$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Oct 23  2013 1.6.0 -> CurrentJDK
drwxr-xr-x  8 root  wheel  272 May 13 10:21 A
lrwxr-xr-x  1 root  wheel    1 Oct 23  2013 Current -> A
lrwxr-xr-x  1 root  wheel   59 Oct 23  2013 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

cũng thế:

$ /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -fullversion
java full version "1.7.0_51-b13"

Applet của bảng điều khiển java báo cáo 1.8, nhưng trong / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin /

Bất cứ ý tưởng nơi nó đã đi?


Chính xác là bạn đã cài đặt JDK như thế nào - Oracle đã khiến nó bị nhầm lẫn
user151019

Liên kết để cài đặt JDK trong bình luận bên dưới tại apple.stackexchange.com/a/192180/145778 giải quyết vấn đề này.
vinod

Câu trả lời:


13

Java 7 và Java 8 được cài đặt bên dưới /Library/Java/JavaVirtualMachinesvà để có được thông tin về máy ảo Java đã cài đặt, bạn có thể sử dụng lệnh / usr / libexec / java_home , đây là một liên kết / phím tắt /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home.

Một số lệnh để sử dụng là:

/usr/libexec/java_home -verbose sẽ cung cấp cho bạn tất cả các phiên bản cài đặt với đường dẫn.

/usr/libexec/java_home -v '1.6*' sẽ cung cấp cho bạn JAVA_HOME của Java 6

/usr/libexec/java_home -v '1.7*' sẽ cung cấp cho bạn JAVA_HOME của Java 7 (nếu được cài đặt)

/usr/libexec/java_home -v '1.8*' sẽ cung cấp cho bạn JAVA_HOME của Java 8 (nếu được cài đặt)

Và nếu /usr/libexec/java_homeđược gọi mà không có bất kỳ tham số nào, bạn sẽ nhận được phiên bản Java được kích hoạt (mới nhất) hiện tại. Nếu bạn không nhận được phiên bản Java mới nhất khi /usr/libexec/java_homeđược gọi, bạn có thể thử khởi động lại máy Mac của mình để hệ thống tải lại tải hiện tại của /usr/bin/javaliên kết / lối tắt đến/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java


25

Tôi gặp vấn đề tương tự trên OS X Yosemite 10.9.

Vấn đề đã được giải quyết bằng cách cài đặt Bộ công cụ phát triển Java SE 8 .

Tôi đã cài đặt phiên bản khác không phải là bộ phát triển SE và nó chỉ hoạt động trong trình duyệt web, không phải cho thiết bị đầu cuối.


Tôi đã cài đặt JDK, như bạn đề xuất, và mọi thứ đều hoạt động. Cảm ơn nhiều!!
rmbianchi

Đã làm cho tôi! đã cố gắng tìm jdk8 và cuối cùng điều này đã khắc phục vấn đề của tôi. cảm ơn
Bun

1
Tôi cần phải làm điều này, nhưng vẫn gặp sự cố vì .bash_profile của tôi có JAVA_HOME trỏ đến / Library / Java / Home, nơi 1.6 đã được cài đặt.
David
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.