Đặt JDK 8 làm Java mặc định trên Debian 8


8

Tôi đang cố gắng đặt các công cụ Java SDK 8 (được cài đặt từ repo backport repo) làm mặc định.

# update-java-alternatives --list
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

# update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

Hừm, ngoài lỗi đó (mà tôi tin là chỉ là một cảnh báo theo https://askubfox.com/questions/141791/is-there-a-way-to-update-all-java-related- lựa chọn thay thế . Nếu không, tôi không biết làm thế nào để sửa lỗi này, như không có IcedTea plugin cho jdk8 mà tôi có thể nhìn thấy), điều này sẽ đã làm các trick, phải không?

Nhưng nhiều công cụ Java vẫn trỏ đến Java 7:

# update-alternatives --get-selections | grep java
appletviewer                   manual   /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer
extcheck                       auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck
idlj                           auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/idlj
jar                            auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jar
jarsigner                      auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jarsigner
java                           manual   /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
javac                          auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
javadoc                        auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc
...

Đưa cái gì? Bị hỏng?

BIÊN TẬP:

Làm việc xung quanh điều này với:

for i in `update-alternatives --get-selections | grep java | awk '{print $1}'`; do update-alternatives --config $i; done

Điều này sẽ tự nhắc bạn cho từng công cụ. Mà mất khoảng một phút. Tuy nhiên, tôi muốn biết nếu có một cách tốt hơn.

Câu trả lời:


5

update-java-alternativescó các tùy chọn để cập nhật --jre-headless, --jre--pluginriêng biệt.

Sử dụng

sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64

làm việc cho tôi trên máy chủ Debian Jessie không cài đặt plugin.


4

Trong Ubuntu, JDK1.8 không được cài đặt theo mặc định. Khi bạn liệt kê các lựa chọn thay thế java

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-7-oracle                  1082       /usr/lib/jvm/java-7-oracle

java-1.8.0-openjdk-amd64trong danh sách này không phải là JDK, mà là JRE . JRE không chứa tất cả các công cụ phát triển cần thiết như javac, javadoc, v.v. Bạn có thể xác minh xem thư mục bin có chứa các tệp này không. Đây là lý do không đăng ký các công cụ này.

Vì vậy, trước tiên bạn phải cài đặt JDK

sudo apt install openjdk-8-jdk

Và sau đó thay đổi thay thế

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64

2

Cách dễ nhất để đạt được điều này trong Debian là sử dụng lệnh này

update-alternatives --config java

Sau đó, bạn sẽ nhận được một đầu ra như thế này:

*0  /usr/lib/jvm/java-8-openjdk-amd64/bin/java  auto mode
 1  /usr/lib/jvm/jdk1.7.0/bin/java              manual mode

Sau đó, bạn có thể thay đổi lựa chọn mặc định của mình (được đánh dấu bằng "*") bằng cách nhập số chỉ mục. Ví dụ: bạn chọn "1" để sử dụng Java 7 làm JVM mặc định. Bạn có thể chạy lại lệnh để kiểm tra các thay đổi.

Hy vọng nó giúp.


1

Đối với Linux (ví dụ: Debian):

# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws

Thí dụ:

$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode
  4            /usr/lib/jvm/jdk1.7.0_80/bin/java                1         manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode

0

Bạn phải thay đổi biến nhà java cho java 8 trong tệp bên dưới

  'vi /etc/environment'

Trong định dạng này

JAVA_HOME- / usr / lib / jvm / java-8-orory

Tải lại tập tin cấu hình bằng

'. /etc/environment'

Và xác nhận điều này

   echo  $JAVA_HOME
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.