Hướng dẫn sử dụng Maven cho người mới bắt đầu
Công ty Vĩnh Cửu tuyển dụng lập trình viên Java

1- Giới thiệu

Trước hết phải đảm bảo rằng bạn đã cài đặt Maven vào Eclipse. Nếu chưa cài đặt bạn có thể xem hướng dẫn tại đây:
Mục tiêu của bài hướng dẫn:
Đây là hình ảnh Project sau khi hoàn thành:

2- Tạo Maven Project

Trên Eclipse chọn "New/Other"
Đây là hình ảnh Project được tạo ra.
  • pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.o7planning</groupId>
    <artifactId>HelloMaven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</project>

3- Cấu hình Maven

Mở file pom.xml để cấu hình các thư viện sẽ sử dụng:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.o7planning</groupId>
    <artifactId>HelloMaven</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>
    </dependencies>
    
</project>
Tạo class CheckNumeric.java
package org.o7planning.tutorial.hellomaven;

import org.apache.commons.lang3.StringUtils;

public class CheckNumeric {

   public static void main(String[] args) {
       String text1 = "0123a4";
       String text2 = "01234";
       
       boolean result1 = StringUtils.isNumeric(text1);
       boolean result2 = StringUtils.isNumeric(text2);

       System.out.println(text1 + " is a numeric? " + result1);
       System.out.println(text2 + " is a numeric? " + result2);

   }

}
Chạy class CheckNumeric và nhận được kết quả:
Bạn có thể thấy rõ ràng project của bạn sử dụng các thư viện nào. Vị trí của nó ở đâu trên ổ cứng.

4- Cài đặt Project bằng Maven

Bản chất ở đây chính là dịch và đóng gói Project của bạn bằng Maven:

5- Giải thích nguyên tắc hoạt động của Maven

Ở trên bạn đã tạo project và chạy hoàn hảo. Project sử dụng tới class StringUtils là một class của Apache, vốn không nằm trong thư viện chuẩn JDK của Java. Theo truyền thống bạn phải copy thư viện vào Project và khai báo ClassPath. Tuy nhiên, trong hướng dẫn hoàn toàn không phải copy thư viện và khai báo classpath như cách truyền thống. Việc quản lý thư viện đã do Maven quản lý. Bây giờ chúng ta sẽ giải thích cách mà Maven hoạt động.
Hình minh họa ở trên chỉ ra cách hoạt động của Maven.
  1. Bạn khai báo trên pom.xml rằng project của bạn phụ thuộc vào thư viện common-lang3 phiên bản 3.3.2.
  2. Ngay sau khi bạn SAVE file pom.xml Maven sẽ kiểm tra xem thư viện này đã có tại kho chứa địa phương (Local Repository) trên máy tính của bạn chưa. Nếu chưa có nó sẽ download về từ kho chứa (Repository) thư viện từ trên Internet xuống.
  3. Cuối cùng là Maven sẽ tự động khai báo ClassPath cho Project tới vị trí file jar được download về.
Như vậy mọi bạn chỉ cần khai báo thư viện muốn sử dụng tại pom.xml. Việc quản lý thư viện đã do Maven lo liệu.

6- Xem Local repository

Câu hỏi của bạn là kho chứa thư viện địa phương (Local Repository) nằm ở đâu?
Xem project của bạn được đóng gói để trên Local Repository:

7- Xem Maven Repository trên Internet

Câu hỏi đặt ra là các thông tin groupId, artifactId, version tra cứu ở đâu.
Bạn có thể vào một trong các trang:

8- Cấu hình Maven download source & javadoc

Thông thường Maven chỉ download file binary về kho chứa địa phương (Local Repository). Để Maven download cả source và javadoc bạn cần cấu hình trên Eclipse.
  • Windows/Preferences
Thay đổi gì đó trên file pom.xml và save lại (hoặc build project), Maven sẽ download source & javadoc.
Kết quả bạn nhìn thấy trên Local Repository:

9- Quản lý phụ thuộc trong Maven

10- Thiết lập dự án nhiều Module sử dụng Maven

Tiếp theo bạn có thể tìm hiểu làm thế nào thiết lập một dự án nhiều Module với Maven tại: