Các pha, giai đoạn trong Maven Project, Lifecycle của Maven
Các pha, giai đoạn trong Maven Project, Lifecycle của Maven
Thông thường, một vòng đời của maven project sẽ gồm 8 giai đoạn sau:
- validate: Xác nhận và kiểm tra project có đúng không, các thông tin cần thiết có đầy đủ không
- compile: Thực hiện compile source code của project
- test: Thực hiện compile source code sử dụng các framework testing thích hợp như JUnit… (Không bắt buộc phải có phần source code cho test)
- package: thực hiện compile code và đóng gói thành định dạng có thể phân phối như file
.jar
,.war
- integration-test: xử lý và triển khai các package cần thiết vào môi trường để có thể chạy thử nghiệm.
- verify: chạy và kiểm tra các package có hợp lệ và đảm bảo chất lượng không.
- install: cài đặt các package vào local repository, sau giai đoạn này thì bạn có thể sử dụng project giống như một dependency/thư viện cho các project khác thông qua maven
- deploy: hoàn thành việc tích hợp, triển khai môi trường, copy tất cả package tới remote repository.
Ngoài các pha bên trên, ta còn có 2 pha sau:
- clean: xóa tất cả các artifacts đã được build.
- site: tạo site documentation cho project
- There are two other Maven lifecycles of note beyond the default list above. They are
- clean: cleans up artifacts created by prior builds
- site: generates site documentation for this project
Demo
Ví dụ: tạo project HelloMaven như sau:
mvn archetype:generate -DgroupId=stackjava.com -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
(Xem lại: Tạo Maven Project bằng dòng lệnh)
Cấu trúc project được sinh ra:
Tiếp theo mình sẽ thực hiện demo các giai đoạn bên trên với Project HelloMaven:
Validate
Compile
Sau pha compile, source code được compile và tạo ra các file .class trong foler target
Test
File test trong src/test/java
được thực thi
Package
Sau pha package, file .jar được tạo ra:
integration-test
verify
install
Sau pha install, các file .jar
được copy và cài đặt vào local repository
clean
Sau pha clean, tất cả các file được build đều bị xóa.
Okay, Done!
References: