Cài đặt Maven trên linux

Apache Maven từ lâu đã được coi là tiêu chuẩn vàng trong hệ sinh thái Java để quản lý dependency management và build automation. Dù bạn đang phát triển một ứng dụng Spring Boot nhỏ hay vận hành hệ thống CI/CD phức tạp cho doanh nghiệp, Maven đóng vai trò là quan trọng đảm bảo code được biên dịch và đóng gói chính xác.

Maven trên linux

1. Prerequisites

Maven chạy trên JVM, vì vậy bạn cần JDK trước khi cài. Maven 3.9+ yêu cầu tối thiểu JDK 8, nhưng vào 2025 bạn nên dùng JDK 17 LTS hoặc 21 LTS.

Kiểm tra Java:

java -version

Cài OpenJDK 17 (nếu chưa có):

  • Ubuntu/Debian: sudo apt install openjdk-17-jdk -y
  • RHEL/CentOS: sudo dnf install java-17-openjdk-devel -y

Nếu hệ thống có nhiều bản Java, đảm bảo JAVA_HOME đã được set chính xác.

2. Manual Installation

Cài thủ công vào /opt luôn là cách sạch nhất và kiểm soát tốt nhất. Nó độc lập với package manager, tiện cho việc upgrade mà không làm gián đoạn build.

Bước 1: Tải binary

Truy cập trang download của Maven và lấy bản mới nhất (ở đây là 3.9.9):

cd /tmp
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

(Trong môi trường nghiêm ngặt, hãy verify SHA-512 checksum.)

Bước 2: Giải nén vào /opt

tar -xvf apache-maven-3.9.9-bin.tar.gz
sudo mv apache-maven-3.9.9 /opt/

Nhiều team còn set owner cho consistent:

sudo chown -R root:root /opt/apache-maven-3.9.9

Bước 3: Tạo symlink phiên bản

Thay vì trỏ PATH tới thư mục version, ta tạo symlink để đổi version nhanh:

sudo ln -s /opt/apache-maven-3.9.9 /opt/maven

Khi có Maven 3.9.10, chỉ cần:

sudo rm /opt/maven
sudo ln -s /opt/apache-maven-3.9.10 /opt/maven

Không phải sửa file nào thêm nữa.

Bước 4: Thiết lập Environment Variables

Tạo file cấu hình system-wide:

sudo nano /etc/profile.d/maven.sh

Thêm:

export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}

Áp dụng:

sudo chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh

Bước 5: Kiểm tra

mvn -version

Bạn sẽ thấy version Maven, version Java và PATH đều đúng.

3. Advanced Configuration

Cài xong mới chỉ là phần nền. Những mục dưới đây giúp build nhanh hơn, ổn định hơn, đặc biệt cho các dự án lớn.

1. Tối ưu bộ nhớ JVM

export MAVEN_OPTS="-Xms512m -Xmx2048m"

Build dự án enterprise bắt buộc nên đặt heap cao hơn mặc định.

2. Di chuyển Local Repository

Mặc định nằm tại ~/.m2/repository. Nếu máy build dùng ổ riêng cho data, hãy chuyển repo sang đó:

Trong /opt/maven/conf/settings.xml:

<localRepository>/data/maven-repo</localRepository>

Hoặc tạo file ~/.m2/settings.xml cho user-specific.

3. Mirror Repository

Tốc độ tải về từ Maven Central có thể chậm theo từng thời điểm. Có thể dùng Google Maven Central làm mirror:

<mirrors>
  <mirror>
    <id>google-maven-central</id>
    <name>Google Maven Central</name>
    <url>https://maven-central.storage-download.googleapis.com/maven2/</url>
    <mirrorOf>central</mirrorOf>
  </mirror>
</mirrors>

Đối với doanh nghiệp, mirror nội bộ gần như là bắt buộc.

4. Cách cài khác: SDKMAN!

Trên máy cá nhân, SDKMAN! là công cụ đơn giản nhất để quản lý version:

Cài SDKMAN:

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

Cài Maven:

sdk install maven

Chuyển version (giữ dự án cũ chạy ổn):

sdk use maven 3.8.6

SDKMAN cũng quản lý luôn JDK cực tiện cho Dev phải chạy nhiều project khác nhau.

5. Lời khuyên thực tế

  • Server Production hoặc CI/CD: Cài manual vào /opt + symlink. Ổn định, dễ audit, dễ upgrade.
  • Laptop Developer: Dùng SDKMAN!. Không phải tự quản version.
  • Trong dự án: Bắt buộc dùng Maven Wrapper (mvnw) để đảm bảo đúng version Maven mà dự án yêu cầu.

Tạo wrapper:

mvn wrapper:wrapper

Từ đó toàn team dùng:

./mvnw clean package

Không còn cảnh môi trường mỗi người một kiểu.

Thông tin nổi bật

Sự kiện phát trực tiếp​

Event Thumbnail

Báo cáo quan trọng

Article Thumbnail
Article Thumbnail

Sự kiện đang hiện hành

Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Tiêu điểm chuyên gia