(+84) 236.3827111 ex. 402

CÁCH CHUYỂN ĐỔI PROJECT TỪ JAVA ANT SANG JAVA MAVEN


Việc chuyển từ Ant sang Maven là một bước quan trọng để hiện đại hóa quy trình build trong dự án Java. Maven mang lại nhiều lợi ích hơn như dependency management, lifecycle rõ ràng, plugin hệ sinh thái lớn, v.v...

Dưới đây là quy trình từng bước hiệu quả nhất để chuyển từ Ant sang Maven:

Bước 1: Hiểu rõ cấu trúc hiện tại của dự án Ant

  • Xác định các thư mục chính: src, lib, build, dist, ...
  • Xem kỹ file build.xml để hiểu các target (compile, clean, jar, test...) đang làm gì.

Ghi chú lại các dependency (các JAR trong lib/).

Bước 2: Tạo cấu trúc dự án Maven chuẩn

Maven có cấu trúc mặc định như sau:

css

Sao chépChỉnh sửa

project-root/

├── pom.xml

└── src/

├── main/

│ ├── java/

│ └── resources/

└── test/

├── java/

└── resources/

Bạn cần:

  • Di chuyển mã nguồn sang src/main/java
  • Di chuyển test sang src/test/java

Nếu có file properties, xml... cho runtime, đưa vào src/main/resources

Bước 3: Tạo file pom.xml

Khởi tạo bằng tay hoặc dùng lệnh:

bash

Sao chépChỉnh sửa

mvn archetype:generate

Sau đó thêm thông tin cần thiết:

xml

Sao chépChỉnh sửa

4.0.0

com.example

your-project

1.0-SNAPSHOT.jar

commons-lang

commons-lang 2.6

Nếu thư viện cũ không có trên Maven Central, bạn có thể:

  • Cài đặt thủ công bằng mvn install:install-file
  • Hoặc cấu hình repo nội bộ

Bước 4: Thiết lập plugin build & test

Nếu dùng Ant để chạy JUnit hoặc tạo JAR, Maven có sẵn:

  • maven-compiler-plugin để compile
  • maven-surefire-plugin để chạy test
  • maven-jar-plugin để đóng gói

Ví dụ:

xml

Sao chépChỉnh sửa

maven-compiler-plugin 3.8.1

Bước 5: Loại bỏ dần Ant

  • Tạm thời giữ lại build.xml nếu bạn muốn so sánh kết quả giữa Ant và Maven
  • Khi Maven đã chạy ổn định (build, test, jar), có thể xóa build.xml và thư mục lib/

Bước 6: Kiểm thử & triển khai

  • Chạy thử:

bash

Sao chépChỉnh sửa

mvn clean install

  • So sánh JAR đầu ra của Maven và Ant để đảm bảo tương thích
  • Kiểm tra các thư viện runtime và test runtime hoạt động như cũ

Công cụ hỗ trợ (tùy chọn):

  • Ant to Maven Migration Tool: Một số IDE như IntelliJ IDEA có hỗ trợ tự động.

Apache Ivy: Nếu bạn dùng Ivy trong Ant, việc chuyển sang Maven dễ dàng hơn vì dependency đã được quản lý.