Java và JVM (Máy ảo Java) là các thành phần quan trọng trong việc phát triển và vận hành nhiều phần mềm, bao gồm các ứng dụng như Tomcat, Jetty, Glassfish, Cassandra và Jenkins.
Bài hướng dẫn này sẽ hướng dẫn bạn cách cài đặt các phiên bản khác nhau của Java Runtime Environment (JRE) và Java Development Kit (JDK) thông qua apt. Bạn sẽ cài đặt OpenJDK và JDK chính thức từ Oracle, sau đó lựa chọn phiên bản phù hợp với các nhu cầu phát triển của bạn. Khi hoàn tất, bạn sẽ có khả năng sử dụng JDK để phát triển ứng dụng hoặc sử dụng Java Runtime để chạy các phần mềm Java.
Để triển khai Java hiệu quả, bạn có thể cần một môi trường ổn định như VPS Windows. Với VPS Windows, bạn dễ dàng quản lý ứng dụng Java, đảm bảo hiệu suất cao và bảo mật tối ưu. Khám phá ngay các giải pháp VPS Windows tại DataOnline!
Yêu cầu
Để làm theo hướng dẫn này, bạn cần:
● Một máy chủ Ubuntu 20.04 được thiết lập theo hướng dẫn Cài đặt ban đầu cần thiết Ubuntu 20.04, bao gồm tài khoản sudo không phải root và đã cấu hình firewall.
Cài đặt JRE/JDK mặc định
Cách đơn giản nhất để cài đặt Java là sử dụng phiên bản được đóng gói sẵn trong Ubuntu. Theo mặc định, Ubuntu 20.04 bao gồm OpenJDK 11 – một biến thể mã nguồn mở của JRE và JDK.
Cập nhật chỉ mục gói:
sudo apt update
Kiểm tra xem Java đã được cài đặt hay chưa:
java -version
Nếu Java chưa được cài đặt, bạn sẽ thấy đầu ra như sau:
Output Command 'java' not found, but can be installed with: sudo apt install openjdk-11-jre-headless # version 11.0.11+9-0ubuntu2~20.04, or sudo apt install default-jre # version 2:1.11-72 sudo apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04 sudo apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04 sudo apt install openjdk-8-jre-headless # version 8u292-b10-0ubuntu1~20.04
Cài đặt Java Runtime Environment (JRE) mặc định (OpenJDK 11):
sudo apt install default-jre
JRE này sẽ cho phép bạn chạy hầu hết các phần mềm Java.
Xác nhận cài đặt:
java -version
Bạn sẽ thấy đầu ra tương tự:
Output openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing))
Nếu cần JDK để biên dịch và chạy một số phần mềm Java, hãy cài đặt JDK mặc định:
sudo apt install default-jdk
Xác nhận cài đặt JDK bằng cách kiểm tra phiên bản của trình biên dịch javac
:
Output javac 11.0.11
Tiếp theo, hãy cùng tìm hiểu cách cài đặt JDK và JRE chính thức của Oracle.
Cài đặt Oracle JDK 11
Oracle có điều khoản cấp phép không cho phép cài đặt tự động thông qua trình quản lý gói. Để cài đặt Oracle JDK – phiên bản chính thức được phân phối bởi Oracle, bạn phải tạo tài khoản Oracle và tải xuống JDK thủ công, sau đó thêm kho lưu trữ gói cho phiên bản bạn cần sử dụng. Tiếp theo, bạn sẽ sử dụng apt cùng với một script cài đặt của bên thứ ba.
-
Phiên bản Oracle JDK bạn tải xuống phải phù hợp với phiên bản của script cài đặt. Để biết phiên bản nào cần thiết, hãy truy cập trang oracle-java11-installer.
-
Tìm gói dành cho Focal, như minh họa trong hình dưới đây:
Bạn không cần tải xuống gì từ trang này; bạn sẽ tải script cài đặt thông qua apt ngay sau đó.
Sau đó, truy cập trang Downloads và tìm phiên bản phù hợp.
Nhấn nút Download JDK và bạn sẽ chuyển đến màn hình hiển thị các phiên bản có sẵn. Nhấn vào gói .tar.gz dành cho Linux.
Tham khảo trang tải xuống Oracle JDK
Bạn sẽ được yêu cầu chấp nhận thỏa thuận cấp phép Oracle. Tích vào ô chấp nhận và nhấn nút Download. Quá trình tải xuống sẽ bắt đầu. Có thể bạn cần đăng nhập lại tài khoản Oracle trước khi tải về.
Khi tệp đã được tải xuống, bạn cần chuyển nó lên máy chủ của mình. Trên máy cục bộ, hãy upload tệp vào máy chủ. Trên macOS, Linux hoặc Windows sử dụng Windows Subsystem for Linux, dùng lệnh scp
để chuyển tệp vào thư mục home của người dùng (ví dụ: sammy). Lệnh dưới đây giả định rằng tệp Oracle JDK đã được lưu trong thư mục Downloads:
scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~
Sau khi tải tệp lên xong, quay lại máy chủ của bạn và thêm kho lưu trữ của bên thứ ba hỗ trợ cài đặt Java Oracle.
Cài đặt gói software-properties-common
(thêm lệnh add-apt-repository
vào hệ thống):
sudo apt install software-properties-common
Nhập khóa ký số dùng để xác minh phần mềm sắp cài:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
Output gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1
Thêm kho lưu trữ vào danh sách nguồn gói:
sudo add-apt-repository ppa:linuxuprising/java
Output Oracle Java 11 (LTS) and 16 installer for Ubuntu (21.04, 20.10, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or Ctrl-c to cancel adding it.
Java binaries không được lưu trữ trực tiếp trong PPA này do các ràng buộc về cấp phép. Các gói trong PPA này sẽ tải về và cài đặt Oracle Java, vì vậy cần có kết nối Internet.
Các gói này dựa trên các gói WebUpd8 Oracle Java PPA.
Nhấn [ENTER] để tiếp tục hoặc Ctrl-c để hủy.
Cập nhật danh sách gói:
sudo apt update
Script cài đặt sẽ tìm Oracle JDK bạn đã tải xuống trong thư mục /var/cache/oracle-jdk11-installer-local
. Tạo thư mục này và di chuyển tệp Oracle JDK vào đó:
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/ sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/
Cuối cùng, cài đặt gói:
sudo apt install oracle-java11-installer-local
Trong quá trình cài đặt, bạn sẽ được hỏi chấp nhận thỏa thuận cấp phép Oracle. Sau khi chấp nhận, script sẽ giải nén và cài đặt gói Java.
Quản lý Java
Bạn có thể cài đặt nhiều phiên bản Java trên một máy chủ. Bạn có thể cấu hình phiên bản nào là mặc định trên dòng lệnh bằng lệnh update-alternatives
.
Chọn phiên bản Java mặc định:
sudo update-alternatives --config java
Output There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:
Chọn số tương ứng với phiên bản Java bạn muốn dùng làm mặc định hoặc nhấn ENTER để giữ cài đặt hiện tại.
Áp dụng tương tự cho các lệnh khác như trình biên dịch javac
:
sudo update-alternatives --config javac
Các lệnh khác có thể được cấu hình theo cách này bao gồm: keytool
, javadoc
và jarsigner
.
Cài đặt biến môi trường JAVA_HOME
Nhiều chương trình viết bằng Java sử dụng biến môi trường JAVA_HOME để xác định vị trí cài đặt Java.
Xác định đường dẫn cài đặt Java bằng lệnh:
sudo update-alternatives --config java
Lệnh này hiển thị từng phiên bản Java đã cài đặt cùng với đường dẫn cài đặt của nó:
Output There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:
Trong trường hợp này, các đường dẫn cài đặt là:
- OpenJDK 11 nằm tại
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
. - Oracle Java nằm tại
/usr/lib/jvm/java-11-oracle/jre/bin/java
.
Sao chép đường dẫn từ cài đặt bạn muốn sử dụng, sau đó mở file /etc/environment
bằng nano hoặc trình soạn thảo yêu thích của bạn:
sudo nano /etc/environment
Thêm dòng sau vào cuối file, thay thế đường dẫn được đánh dấu bằng đường dẫn bạn đã sao chép (không bao gồm phần bin/
):
/etc/environment JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
Lưu file và thoát trình soạn thảo.
Tải lại file môi trường để áp dụng thay đổi cho phiên làm việc hiện tại:
source /etc/environment
Xác nhận rằng biến môi trường đã được đặt:
echo $JAVA_HOME
Output /usr/lib/jvm/java-11-openjdk-amd64
Lưu ý: Các người dùng khác cần thực hiện lệnh source /etc/environment
hoặc đăng xuất, đăng nhập lại để áp dụng thay đổi.