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
1.8
1.8
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ý.