"Javac is not recognized as an internal or external command" là lỗi thường gặp khi cố gắng biên dịch chương trình Java trên Windows dùng Command Prompt. Cũng có thể gặp khi kiểm tra phiên bản trình biên dịch Java chính.
JavaC là gì?
Javac (đọc "java-see"), là trình biên dịch Java chính trong JDK (Java Development Kit) do Oracle phát triển. Trình biên dịch chấp nhận mã nguồn tuân thủ Đặc tả ngôn ngữ Java (JLS) và chuyển thành bytecode Java theo JVMs (Đặc tả Máy ảo Java).
Nguyên nhân lỗi "Javac không được nhận diện"
Lỗi xảy ra khi Command Prompt không tìm thấy biến môi trường Java PATH. Có 2 nguyên nhân:
- Thiếu Java Development Kit (JDK) trên máy — Thường do người dùng nhầm lẫn rằng trình biên dịch Java (javac) cài cùng với Java Runtime Environment (JRE).
- Đường dẫn Javac chưa đặt hoặc đặt sai — Để biên dịch từ Command Prompt và các công cụ server app hoạt động, hệ thống cần biết vị trí Javac. Nếu là trường hợp này, cần đặt đường dẫn thủ công.
Bước 1: Cài đặt Java Development Kit (JDK)
Một lý do chính gây lỗi là người mới học Java nhầm lẫn Java Runtime Environment (JRE) với Java Development Kit (JDK).
JRE là một phần của JDK, nhưng thường tải riêng. Nhiều chương trình dùng JRE kèm trong gói cài đặt.
Vì rất ít lý do cần JDK nếu bạn không phát triển Java, bạn có thể nghĩ Javac đã cài cùng JRE, nhưng sự thật là bạn cần cài toàn bộ Java Development Kit.
Nếu trường hợp này áp dụng cho bạn, đây là hướng dẫn nhanh cài JDK để khắc phục lỗi "javac is not recognized":
- Truy cập liên kết (tại đây) nhấn biểu tượng Download trên Java Platform (JDK). Đảm bảo cài phiên bản JDK mới nhất.

- Màn hình tiếp theo, cuộn xuống Java SE Development Kit, tick Accept Licence agreement. Nhấn link tải cho Windows. Có 2 lựa chọn, khuyến nghị file .exe để tránh giải nén.

- Tải xong, chạy file cài JDK, làm theo hướng dẫn trên màn hình.

- Màn hình tiếp theo, đảm bảo cả Development Tools và Source Code cài trên ổ cứng cục bộ cùng các tính năng con. Khuyến nghị giữ đường dẫn cài mặc định để Bước 2 dễ dàng hơn.
Lưu ý: Ghi nhớ đường dẫn cài đặt dưới "Install to", bạn sẽ cần ở Bước 2.
- Đợi cài JDK xong. Khởi động lại máy nếu không tự nhắc.

Đã cài gói đúng cài JavaC, chuyển Bước 2 đặt đường dẫn JavaC đúng.
Bước 2: Đặt biến môi trường Java & cập nhật đường dẫn hệ thống
Trước khi bắt đầu, hãy hiểu các thủ tục dưới chỉ áp dụng nếu bạn đã cài JDK đúng (Bước 1).
Nếu cài JDK xong vẫn báo "Javac is not recognized as an internal or external command", bạn gặp một trong những vấn đề kỹ thuật phổ biến nhất của người mới học Java. Để hoàn tất JDK trên Windows, cần thực hiện các bước thủ công. Các bước này luôn làm sau khi cài JDK, kể cả khi cập nhật JDK.
Hướng dẫn nhanh đặt biến môi trường Java đúng và cập nhật đường dẫn hệ thống:
- Nhấn Windows + R mở hộp thoại Run. Gõ "sysdm.cpl" Enter mở cửa sổ System Properties.

- Trong System Properties, tab Advanced, nhấn Environment Variables.

- Cửa sổ Environment Variable, nhấn New dưới System variable.

- Cửa sổ New System Variable, đặt Variable name = JAVA_HOME, Variable value = đường dẫn thư mục JDK. Nhấn OK.
Lưu ý: Nếu ghi nhớ đường dẫn JDK ở Bước 1, dán trực tiếp vào Variable value.

- Quay lại Environment Variables, tìm biến tên path dưới System variables. Chọn Path, nhấn Edit.

- Cửa sổ Edit environment variable, nhấn New.

- Đặt biến môi trường mới là %JAVA_HOME%\bin, Enter, nhấn Ok áp dụng.

- Môi trường Java đã cấu hình. Bây giờ bạn có thể biên dịch từ CMD hoặc kiểm tra phiên bản Javac.

Bước thêm: Kiểm tra cấu hình thành công
Có thêm một bước trong Command Prompt để xác nhận cấu hình biến môi trường Java thành công. Làm theo các bước:
- Win + R, gõ "cmd" Enter mở Command Prompt.

- Trong CMD, gõ echo %JAVA_HOME% Enter. Nếu in ra thư mục JDK, Bước 2 thành công, JAVAC hoạt động tốt. Nếu thấy khoảng trắng thay vì đường dẫn JDK, nghĩa là đặt biến môi trường thất bại — quay lại Bước 1 và Bước 2.
