Khi làm việc với Java trên hệ điều hành Linux, bạn có thể gặp phải thông báo lỗi “bash: java: command not found”. Điều này thường xảy ra khi môi trường Java chưa được cài đặt hoặc cấu hình đúng cách trên hệ thống. Bài viết này của Vietnix sẽ hướng dẫn bạn giải quyết lỗi này một cách nhanh chóng và hiệu quả.
Hiểu đúng về lỗi Bash: Java: command not found
Trong quá trình thực hiện các tập lệnh Bash, bạn sẽ thường xuyên làm việc với một nhiều lệnh trên hệ điều hành Linux. Nếu như Bash shell của bạn một lúc nào đó hiển thị lỗi không tìm thấy lệnh bất thường thì có thể đến từ một số sơ xuất nhỏ trong quá trình:
- Tên lệnh và xác nhận rằng không có lỗi đánh máy
- Java (hầu như mọi phần mềm) chưa cài đặt (cài đặt chưa đúng) trong hệ thống của bạn
- Đường dẫn của file chưa được thiết lập đúng
- Cú pháp lệnh có thể được nhập sai
- Đường dẫn PATH của người dùng không đầy đủ, đặt lại hoặc xóa nhầm (lý do phổ biến nhất)
Hầu như những sơ xuất ban đầu đều xuất phát từ những sai xót trong qua trình thực hiện trên môi trường Bash. Đa số, mọi người đều gặp trục trặc với biến PATH trong việc tìm kiếm môi trường thực thi khi không được thông báo về hệ thống các vị trí cụ thể tìm các tập lệnh.
Và đó cũng là lỗi đầu tiên xuất phát từ hệ thống: Bash: command not found, cũng chính là nguyên nhân tổng quan dẫn đến các lỗi Bash khác liên quan.
4 nguyên nhân chính dẫn đến lỗi không thể tìm thấy lệnh trên hệ thống Bash
Lệnh java không được tìm thấy trên hệ thống thường xuất hiện do 4 nguyên nhân sau:
- Chưa cài đặt JDK/JRE: Hệ thống của bạn có thể chưa cài đặt Java Development Kit (JDK) hoặc Java Runtime Environment (JRE) nên không thể sử dụng lệnh java.
- Đường dẫn không chính xác: Đường dẫn PATH trên hệ thống của bạn có thể không chứa “java”.
- Quyền hạn không đủ: Lệnh java có thể không có đủ quyền để thực thi trên hệ thống. Để thực hiện, bạn cần được cấp quyền truy cập root từ lệnh sudo.
- Không tìm thấy binary: Binary JRE có thể bị thiếu hoặc bị lỗi, dẫn đến việc không thể tìm thấy lệnh java.
Trước khi thực hiện cách xử lý lỗi Bash Java, bạn có thể tham khảo thêm các câu lệnh trong Linux cơ bản để nắm bắt chức năng chi tiết hơn khi thực hiện các tập lệnh.
3 ví dụ về cách xử lý lỗi Bash: Java: command not found
Ví dụ 1: Cài đặt JRE
Thông thường, lỗi “bash: java: command not found” xuất hiện khi hệ thống của bạn không có JDK (Java Development Kit). Để khắc phục, bạn có thể cài đặt JDK thông qua trình quản lý package APT trên Ubuntu, YUM trên RedHat hoặc Pacman trên Arch Linux.
Java Runtime Environment (JRE) bao gồm cả JDK và các gói Java cần thiết khác. Bạn có thể cài đặt JRE trên Ubuntu theo các bước sau:
Bước 1: Bạn nhấn tổ hợp phím Ctrl + Alt + T để mở cửa sổ terminal trong Ubuntu.
Bước 2: Chạy lệnh sudo apt update
để cập nhật danh sách các package phần mềm có sẵn từ kho lưu trữ.
Bước 3: Chạy lệnh sau để cài đặt JRE:
sudo apt install -y default-jre
Bước 4: Sau khi cài đặt xong, bạn chạy lệnh java --version
để kiểm tra xem JRE đã được cài đặt thành công hay chưa. Nếu thành công, bạn sẽ thấy thông tin về phiên bản Java hiện tại.
Ví dụ 2: Thiết lập đường dẫn biến môi trường PATH cho Java
Một nguyên nhân phổ biến khác dẫn đến lỗi Bash: Java: command not found là do đường dẫn đến lệnh java chưa được thêm vào biến môi trường PATH của hệ thống. Để cài đặt biến môi trường PATH cho Java, bạn hãy làm theo các bước sau:
Bước 1: Bạn nhấn tổ hợp phím CTRL + ALT + T để mở cửa sổ terminal.
Bước 2: Sử dụng lệnh sau để tìm đường dẫn đến thư mục cài đặt Java:
sudo update-alternatives --config java
Kết quả trả về: Hiển thị đường dẫn tuyệt đối của Java, ví dụ: /usr/lib/jvm/java-21-openjdk-amd64/bin/java. Đường dẫn này sẽ được sử dụng làm giá trị cho biến JAVA_HOME trong file /etc/profile.
Bước 3: Mở file /etc/profile để thêm biến PATH bằng lệnh sau:
sudo nano /etc/profile
Bước 4: Thêm đoạn code sau vào cuối file /etc/profile:
JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64/bin/java
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
Bước 5: Nhấn Ctrl + S để lưu file, sau đó Ctrl + X để thoát.
Bước 6: Chạy lệnh reboot
để khởi động lại hệ thống và áp dụng thay đổi cho biến PATH.
sudo nano /etc/profile
sudo reboot now
Sau khi khởi động lại, lỗi Bash: Java: command not found sẽ được khắc phục và có thể sử dụng lệnh java bình thường.
Ví dụ 3: Thiết lập một lệnh thay thế cho lệnh Java
Bạn có thể khắc phục lỗi Bash: Java: command not found tạm thời bằng cách thiết lập một alias (một lệnh thay thế) cho lệnh java. Dưới đây là cách thực hiện:
Bước 1: Bạn nhấn tổ hợp phím CTRL + ALT + T để mở cửa sổ terminal.
Bước 2: Chạy lệnh echo với cú pháp sau trong terminal và nhấn Enter:
echo "alias java='$(which java)'" >> ~/.bashrc; . ~/.bashrc
Giải thích lệnh: Khi thực hiện lệnh, hệ thống sẽ thêm một phím tắt cho java vào tập tin cấu hình này và áp dụng ngay lập tức trong phiên terminal hiện tại. Phím tắt này sẽ giúp lệnh java luôn trỏ đúng đến vị trí của chương trình java trên hệ thống, nhờ sử dụng cú pháp $(which java)
để tìm kiếm vị trí thực tế của chương trình.
Các bước xử lý lỗi Java: command not found trong MacOS?
Nếu bạn gặp lỗi Java: command not found trên MacOS, điều đó có nghĩa là Java Development Kit (JDK) chưa được cài đặt hoặc chưa được cấu hình đúng cách trên hệ thống. Để khắc phục lỗi này, bạn hãy làm theo các bước sau:
Bước 1: Kiểm tra việc cài đặt JDK
Đầu tiên, bạn hãy mở terminal trên máy Mac và chạy lệnh java --version
để kiểm tra xem Java đã được cài đặt hay chưa. Nếu đã cài đặt, lệnh này sẽ hiển thị thông tin về phiên bản JDK đã cài đặt.
Bước 2: Cài đặt Java (nếu chưa có)
Nếu lệnh ở bước 1 không hiển thị thông tin phiên bản Java, nghĩa là Java chưa được cài đặt trên máy Mac của bạn., bạn chạy lệnh sau để cài đặt:
brew install openjdk
Bước 3: Cấu hình PATH (nếu cần)
Nếu bạn vẫn gặp lỗi ngay cả sau khi đã cài đặt JDK, có thể đường dẫn đến thư mục chứa file thực thi java (java executable) không có trong biến môi trường PATH của hệ thống. Để khắc phục vấn đề này, bạn chạy lệnh export sau:
export PATH="/usr/local/opt/openjdk/bin:$PATH"
Sau khi hoàn thành các bước này, bạn sẽ có thể sử dụng Java trên hệ thống macOS của mình.
Câu hỏi thường gặp
Làm gì khi lệnh java không hoạt động?
Khi lệnh “java” không hoạt động, bạn hãy cài đặt JDK mặc định bằng lệnh sudo apt install default-jdk
. Sau đó bạn kiểm tra cài đặt bằng lệnh java --version
và đảm bảo thư mục bin của JDK nằm trong biến PATH.
Lệnh java có tác dụng gì?
Lệnh java dùng để thực thi các chương trình và ứng dụng Java trên máy tính. Khi một chương trình Java được biên dịch sẽ được chuyển đổi thành bytecode, có thể được thực thi bởi Java Virtual Machine (JVM). Lệnh này đóng vai trò quan trọng trong việc chạy các ứng dụng Java, applet và các phần mềm khác được phát triển bằng Java.
Làm thế nào để giải quyết lỗi “sudo: java: command not found” trong Linux?
Để khắc phục lỗi “sudo: java: command not found” trong Linux, bạn hãy cài đặt JDK mặc định và cập nhật biến PATH của hệ thống bằng cách thực hiện các lệnh sau:sudo apt update
sudo apt install default-jdk
export PATH="/usr/lib/jvm/default-java/bin:$PATH"
Làm thế nào để kiểm tra xem Java đã được cài đặt đúng chưa sau khi sửa lỗi?
Sau khi khắc phục lỗi “java: command not found”, bạn có thể kiểm tra xem Java đã được cài đặt chính xác hay chưa bằng cách sử dụng lệnh java --version
. Nếu Java được cài đặt chính xác, lệnh này sẽ hiển thị thông tin về phiên bản Java đã cài đặt. Ngoài ra, bạn có thể kiểm tra phiên bản Java Compiler bằng lệnh javac --version
.
Lời kết
Bài viết đã hướng dẫn bạn cách khắc phục lỗi “bash: java: command not found” trên các hệ điều hành khác nhau. Hy vọng với những thông tin trên, bạn đã có thể tự mình giải quyết vấn đề và tiếp tục sử dụng Java một cách bình thường. Nếu vẫn gặp khó khăn, bạn hãy để lại bình luận bên dưới để được hỗ trợ thêm.