Làm thế nào để cài đặt JDK 11 trong Ubuntu?


97

Vậy là Java 11 đã ra đời . Có ai biết cách cài đặt nó (OpenJDK từ Oracle) từ dòng lệnh không?

Tôi muốn thấy một cái gì đó giống như trước đây cho Oracle Java 10:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

PS Trong hướng dẫn đề xuất câu hỏi tương tự :

sudo apt-get install openjdk-11-jdk

không hoạt động.


Bạn gặp lỗi gì khi cố gắng sudo apt-get install openjdk-11-jdk?
Mureinik

5
Dưới đây là hướng dẫn cài đặt "chính thức" cho Linux. Có một RPM ( yum) hoặc bạn có thể cài đặt thủ công từ các thư viện lưu trữ. Nhưng dường như chưa có Debian apt-get. Q: Vậy tại sao không chỉ cài đặt từ tar.gz? Xem thêm các lựa chọn thay thế cập nhật
paulsm 4

2
@Mureinik "E: Không thể định vị gói openjdk-11-jdk" trên Ubuntu 16.04
Dmitriy Dumanskiy

1
@Mureinik Hiện tại gói này vẫn cài đặt Java 10. Nó sẽ được cập nhật trong những ngày tiếp theo, tôi giả sử sẽ cung cấp Java 11.
Robert

5
@Robert ngày tới, tuần tới, tháng tới ...
9ilsdx 9rvj 0lo 23/1018

Câu trả lời:


184

Bây giờ có thể cài đặt openjdk-11 theo cách này:

sudo apt-get install openjdk-11-jdk

(Trước đây nó đã cài đặt openjdk-10, nhưng không còn nữa)


1
Đây là bản xây dựng của Oracle hay là từ tệp tin dùng thử nghiệm OpenJDK?
Dmitriy Dumanskiy

1
Trên thực tế, tôi nghĩ nó là Oracle OpenJDK. Tôi nghĩ Debian / Ubuntu chỉ cần tải xuống tarball từ bản phát hành Oracle OpenJDK, thêm một vài bản vá ở trên và xây dựng các gói của chúng.
andresp 14/1218

9
Nếu bạn không sử dụng Java trong bất kỳ môi trường GUI nào, bạn có thể thích cài đặt hơn openjdk-11-jdk-headless. Hoặc nếu tất cả những gì bạn muốn là chạy một cái gì đó, không phải biên dịch, cũng openjdk-11-jre[-headless]có thể phù hợp với bạn.
Piohen

10
Tôi phải chạy sudo add-apt-repository ppa:openjdk-r/ppatrước để thêm kho lưu trữ.
Arboreal Shark

3
Ở đây cũng vậy. Cũng sudo apt-get updateđể cập nhật kho lưu trữ. Sau đó sudo apt-get install openjdk-11-jdkđã làm việc.
Michael

53

Để cài đặt Openjdk 11 trong Ubuntu, các lệnh sau hoạt động tốt.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk

Trên Pi lệnh đầu tiên mang lại cho tôi: aptsources.distro.NoDistroTemplateException: Lỗi: Không thể tìm thấy một mẫu phân phối cho Raspbian / căng
Nikolay Klimchuk

Làm việc cho tôi vìopenjdk-11-jdk-headless
WhyAyala

35

Đối với bất kỳ ai đang chạy JDK trên Ubuntu và muốn nâng cấp lên JDK11, tôi khuyên bạn nên cài đặt qua sdkman . SDKMAN là một công cụ để chuyển đổi JVM, xóa và nâng cấp.

SDKMAN là một công cụ để quản lý các phiên bản song song của nhiều Bộ phát triển phần mềm trên hầu hết các hệ thống dựa trên Unix. Nó cung cấp Giao diện dòng lệnh (CLI) và API thuận tiện để cài đặt, chuyển đổi, xóa và liệt kê các Ứng viên.

Cài đặt SDKMAN

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

Cài đặt Java (11.0.3-zulu)

$ sdk install java

1
Chà, một cái gì đó thậm chí tương tự như Anaconda cho Java? Ai ngờ!
Joshua Detwiler

lỗi: "Lưu trữ zip đã tải xuống bị hỏng. Bạn có kết nối với Internet không?"
masterxilo

@masterxilo, bạn có thể giải thích thêm về lỗi bạn gặp phải không, vì chắc chắn bạn sẽ cần có internet để tải xuống công cụ SDKMAN. Tôi mới chỉ thử cài đặt công cụ SDKMAN trên UNIX-Platform. Bạn đang thử trên nền tảng Windows?
Kamal

10

sudo apt-get install openjdk-11-jdk

sau này, hãy thử

java -version

để đảm bảo phiên bản java là 1.11.x, nếu tìm thấy phiên bản cũ hoặc khác, hãy kiểm tra lệnh bên dưới để xem các jdks có sẵn,

sudo update-java-Alternatives --list

bạn sẽ thấy một cái gì đó như dưới đây,

java-1.11.0-openjdk-amd64 1111 /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

bạn có thể thấy java 1.11 có sẵn từ danh sách trên, sử dụng lệnh bên dưới để đặt java 11 thành mặc định,

sudo update-Alternatives --config java

đối với lệnh trên, bạn sẽ nhận được một cái gì đó giống như bên dưới và ngoài ra, sẽ yêu cầu một tùy chọn để đặt,

Có 3 lựa chọn cho java thay thế (cung cấp / usr / bin / java).

Trạng thái ưu tiên của đường dẫn lựa chọn


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 auto mode

Chế độ thủ công 1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 chế độ thủ công

3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 chế độ thủ công

Nhấn để giữ lựa chọn hiện tại [*] hoặc nhập số lựa chọn:

bạn có thể chọn số lựa chọn mong muốn, trường hợp của tôi là 0

cho javac,

sudo update-thay thế --config javac

sẽ dẫn đến kết quả như dưới đây,

Có 3 sự lựa chọn cho javac thay thế (cung cấp / usr / bin / javac).

Trạng thái ưu tiên của đường dẫn lựa chọn


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 auto mode

Chế độ thủ công 1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / bin / javac 1081 chế độ thủ công
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 chế độ thủ công

Nhấn để giữ lựa chọn hiện tại [*] hoặc nhập số lựa chọn:

trong trường hợp của tôi, lại là 0

sau các bước trên, hãy thử

java -version

nó sẽ hiển thị một cái gì đó như dưới đây,

phiên bản openjdk "11.0.4" 2019-07-16

Môi trường thời gian chạy OpenJDK (bản dựng 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)

OpenJDK 64-Bit Server VM (bản dựng 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3, hỗn hợp> chế độ, chia sẻ)


8

Trong Ubuntu, bạn có thể chỉ cần cài đặt Open JDK bằng các lệnh sau.

sudo apt-get update    
sudo apt-get install default-jdk

Bạn có thể kiểm tra phiên bản java bằng cách làm theo lệnh.

java -version

Nếu bạn muốn cài đặt Oracle JDK 8, hãy làm theo các lệnh dưới đây.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Nếu bạn muốn chuyển đổi phiên bản java, bạn có thể thử các phương pháp dưới đây.

vi ~/.bashrcvà thêm dòng sau export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(đường dẫn / thư mục jdk)

hoặc là

sudo vi /etc/profile và thêm các dòng sau

#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH

Bạn có thể nhận xét về phiên bản khác. Điều này cần phải đăng xuất và đăng nhập lại để sử dụng. Nếu bạn muốn thử nó khi đang di chuyển, bạn có thể nhập lệnh dưới đây trong cùng một thiết bị đầu cuối. Nó sẽ chỉ cập nhật phiên bản java cho một thiết bị đầu cuối cụ thể.

source /etc/profile

Bạn luôn có thể kiểm tra phiên bản java bằng java -versionlệnh.


2

Tôi đến đây để tìm câu trả lời và vì không ai đặt lệnh cho oracle Java 11 mà chỉ có openjava 11 nên tôi đã tìm ra cách thực hiện trên Ubuntu, cú pháp như sau:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer

7
Oracle JVM (Hotspot) không còn miễn phí để sử dụng sản xuất. Vì vậy, tôi thích các bản dựng OpenJDK hơn.
Dmitriy Dumanskiy 30/10/18

1
Đáng buồn thay, tôi cũng buộc nó và nó không hoạt động. Nó cho biết E: Không thể định vị gói oracle-java11-installer
Nditah

1

Tôi đã tạo một tập lệnh Bash về cơ bản tự động hóa cài đặt thủ công được mô tả trong câu hỏi tương tự được liên kết . Nó yêu cầu tar.gztệp cũng như giá trị tổng SHA256 của nó. Bạn có thể tìm hiểu thêm thông tin và tải xuống kịch bản từ trang dự án GitHub của tôi . Nó được cung cấp theo giấy phép của MIT.


1

Đầu tiên hãy kiểm tra default-jdkgói hàng, rất có thể nó đã cung cấp cho bạn một OpenJDK >= 11.
ref: https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all§ion=all

Ubuntu 18.04 LTS +

Vì vậy, bắt đầu từ Ubuntu 18.04 LTS, nó sẽ ổn.

sudo apt update -qq
sudo apt install -yq default-jdk

lưu ý: đừng quên thiết lập JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version

Ubuntu 16.04 LTS

Đối với Ubuntu 16.04 LTS , chỉ openjdk-8-jdkđược cung cấp trong repo chính thức, vì vậy bạn cần tìm nó trong ppa :

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk

lưu ý: đừng quên thiết lập JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version
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.