Setup môi trường Java ‘chuẩn chỉ’ trên Fedora với SDKMAN! và IntelliJ IDEA

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

Vấn đề: Cơn ác mộng quản lý phiên bản Java trên Linux

Chắc hẳn bạn đã từng gặp cảnh: Sáng bảo trì dự án Java 8, chiều họp dự án Java 11, tối lại muốn vọc vạch Java 21 mới nhất. Nếu cài Java trực tiếp qua DNF, việc chuyển đổi qua lại giữa các phiên bản là một cực hình. Bạn sẽ phải vật lộn với lệnh alternatives hoặc sửa JAVA_HOME thủ công trong .bashrc mỗi khi đổi dự án.

Thực tế, Fedora ưu tiên tính ổn định của hệ điều hành hơn là sự linh hoạt cho dev. Các gói OpenJDK của Fedora rất tốt để chạy ứng dụng hệ thống. Tuy nhiên, chúng không được thiết kế để bạn “nhảy số” phiên bản liên tục trong quá trình code.

Tại sao bạn nên dùng SDKMAN! thay vì cách truyền thống?

Hãy nhìn vào bảng so sánh dưới đây để thấy sự khác biệt khi quản lý môi trường làm việc:

Tiêu chí Sử dụng DNF (Repo Fedora) Tải thủ công (.tar.gz) Sử dụng SDKMAN!
Tốc độ cài đặt Nhanh (1 lệnh) Chậm (giải nén, gán path) Rất nhanh (1 lệnh)
Đổi phiên bản Khó (phải gõ lệnh dài) Rất khó (sửa file config) Mất 2 giây (1 câu lệnh)
Kho phiên bản Hạn chế (chỉ có OpenJDK) Tự tìm trên web Hơn 100 bản build (Oracle, Zulu, Temurin…)

Kinh nghiệm của mình sau 2 năm dùng Fedora là hãy tách biệt hoàn toàn môi trường code và OS. Mình dùng SDKMAN! để quản lý JDK và JetBrains Toolbox để quản lý IDE. Cách này giúp hệ thống của bạn luôn sạch sẽ.

Bước 1: Cài đặt SDKMAN! trong một nốt nhạc

SDKMAN! là công cụ dòng lệnh mạnh mẽ giúp cài đặt và chuyển đổi hàng trăm bộ SDK. Trước hết, hãy cài zipunzip vì SDKMAN! cần chúng để giải nén các gói JDK:

sudo dnf install zip unzip curl

Tiếp theo, bạn chạy lệnh script tự động để cài đặt:

curl -s "https://get.sdkman.io" | bash

Để bắt đầu sử dụng ngay mà không cần mở lại terminal, hãy chạy lệnh:

source "$HOME/.sdkman/bin/sdkman-init.sh"

Bí kíp nhỏ: Gõ sdk version để kiểm tra. Nếu hiện phiên bản cụ thể là bạn đã thành công.

Bước 2: Quản lý đa phiên bản JDK chuyên nghiệp

Để xem danh sách các bản Java cực kỳ phong phú, bạn dùng lệnh: sdk list java. Giả sử bạn cần cài Java 17 và 21 từ nhà cung cấp Temurin (Eclipse Adoptium) vì độ ổn định cực cao:

# Cài đặt Java 17 LTS
sdk install java 17.0.10-tem

# Cài đặt Java 21 LTS mới nhất
sdk install java 21.0.2-tem

Muốn đổi nhanh sang Java 17 cho dự án cũ? Chỉ cần gõ: sdk use java 17.0.10-tem. Nếu muốn mọi terminal mới mở lên đều dùng Java 21, hãy dùng lệnh default:

sdk default java 21.0.2-tem

Bước 3: Cài đặt Maven và Gradle đồng bộ

Đừng cài Maven qua DNF vì phiên bản thường bị cũ. Cài trực tiếp qua SDKMAN! giúp Maven tự động nhận diện JAVA_HOME đang hoạt động, tránh lỗi xung đột phiên bản khi build project.

sdk install maven
sdk install gradle

Bước 4: Cài đặt IntelliJ IDEA bằng JetBrains Toolbox

Trên Fedora, JetBrains Toolbox là cách tốt nhất để quản lý IDE. Nó giúp bạn nâng cấp phiên bản chỉ với một click, tiết kiệm khoảng 15 phút so với việc tải file .tar.gz thủ công.

  1. Tải JetBrains Toolbox từ trang chủ.
  2. Giải nén và chạy file thực thi để cài đặt.
  3. Mở Toolbox và chọn cài đặt IntelliJ IDEA (Ultimate hoặc Community).

Mẹo quan trọng: Khi cấu hình Project SDK trong IntelliJ, hãy trỏ đường dẫn về: /home/user-của-bạn/.sdkman/candidates/java/current. Khi bạn đổi sdk default ở terminal, IntelliJ sẽ tự động cập nhật theo mà không cần cấu hình lại.

Bước 5: Tối ưu hiệu năng cho dự án lớn

Fedora sử dụng Kernel mới nên hiệu năng JVM rất tốt. Tuy nhiên, với các dự án Microservices nặng, bạn nên tăng giới hạn file (ulimit). Hãy thêm dòng sau vào cuối file /etc/security/limits.conf:

* soft nofile 65536
* hard nofile 65536

Thao tác này giúp tránh lỗi “Too many open files” khi IntelliJ index hàng nghìn file trong project lớn.

Kết luận

Kết hợp SDKMAN! và IntelliJ IDEA trên Fedora mang lại trải nghiệm code mượt mà như trên macOS. Bạn không còn phải loay hoay với biến môi trường hay rác hệ thống từ các gói cài đặt cũ. Hãy tận dụng sức mạnh của terminal Fedora để tối ưu hóa quy trình làm việc của mình ngay hôm nay.

Share: