Cách đặt phiên bản Java mặc định


8

Tôi đã sử dụng Java 6 trên Ubuntu 11.10, nhưng bây giờ tôi muốn cập nhật lên phiên bản 7. Tôi đã cài đặt phiên bản 7 qua PPA như được mô tả ở đây . Nếu tôi chạy

sudo update-alternatives --config java

Tôi nhận được đầu ra sau đây:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Tương tự, nếu tôi chạy:

sudo update-alternatives --config javac

Tôi nhận được đầu ra:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Vì vậy, có vẻ như phiên bản 7 đã là mặc định. Nhưng nếu tôi chạy

java -version

hoặc là

javac -version

Đầu ra chỉ ra rằng phiên bản 6 vẫn là mặc định. Làm cách nào để đặt mặc định cho phiên bản 7?


Hãy xem Java
Mitch

@Mitch cảm ơn, nhưng nó chỉ nói để sử dụng update-alternatives, mà tôi đã thử
Dónal

bạn sudo apt-get install oracle-java7-set-defaultkhởi động lại ?
Eliran Malka

1
FYI, 11.10 là hết cuộc đời.
Thomas Ward

Câu trả lời:


4

Theo câu trả lời này: Làm cách nào để đặt phiên bản Java mặc định?

Hãy thử cung cấp đường dẫn rõ ràng cùng với update-alternatives --installtrước, sau đó chạy update-alternativesđể đưa ra lựa chọn của bạn:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-oracle/bin/javac" 1

sudo update-alternatives --config javac

3

Bạn cần phải thiết lập javacquá.

sudo update-alternatives --config javac

1

Tôi đã từng gặp vấn đề tương tự. Tôi đã cài đặt sun jdk6. Sau

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

một khởi động lại là cần thiết cho tôi. Hơn nó làm việc.

Chỉnh sửa: Tôi nhận ra nó không đủ để làm các bước trên.

Tôi cũng đã phải chỉnh sửa biến môi trường:

    sudo nano /etc/environment

Và thêm (một phiên bản java khác sẽ yêu cầu một chuỗi khác):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

0

chèn số xác định đường dẫn bạn muốn và nhấn enter. trong trường hợp này chèn 1.

cuối cùng, hãy thử kiểm tra phiên bản java -version


Tôi muốn phiên bản 7, không phải 6. Đầu ra update-alternativescho biết tôi đã sử dụng phiên bản 7, nhưng java -versioncho thấy tôi vẫn đang sử dụng phiên bản 6.
Dónal

0

Tôi đoán nhị phân java của bạn đang trỏ đến một nơi khác /etc/alternatives/java.

Kiểm tra đầu ra của: type java

Nó có nói /usr/bin/javakhông? Nếu vậy, sau đó kiểm tra xem điều đó có đúng với các lựa chọn thay thế không:

ls -l /usr/bin/javanên hiển thị nó chỉ vào /etc/alternatives/java.

Cuối cùng xác nhận rằng /etc/alternatives/javachính nó đang trỏ đến java-7 :
ls -l /etc/alternatives/java.

Lệnh update-Alternators chỉ điều chỉnh cái cuối cùng và giả sử rằng các điểm mặc định /usr/bin/javalần lượt được liên kết chính xác /etc/alternatives/java.


0

Tôi đã thử gần như mọi phương pháp được liệt kê ở trên, nhưng vẫn thấy java -version in sai phiên bản trong khi ls -al /etc/alternatives/javađã chỉ đúng.

Vì vậy, tôi chạy: which java và thấy rằng kết quả cho thấy rằng tôi đã sử dụng java từ /usr/local/jdk_xxx/bin/javađó, sau đó tôi xóa thư mục này và khởi động lại thiết bị đầu cuối. Bây giờ java hoạt động tốt.

Hy vọng nó sẽ giúp người khác.

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.