Trang chủ > Uncategorized > Dùng Maven với project nhiều module

Dùng Maven với project nhiều module

Tháng Mười 18, 2010 Để lại bình luận Go to comments

Nếu bạn đã dùng m2eclípe (Maven plugin cho Eclipse) thì sẽ thấy nó khá bất tiện khi làm việc với project nhiều module. Vì vậy, trong trường hợp này, chạy Maven từ dòng lệnh là hợp lí hơn cả. Bài viết này sẽ giới thiệu một số lệnh Maven phù hợp cho tình huống này (chính xác hơn là các option của lệnh mvn). Những option này được thêm vào từ Maven 2.1, bao gồm:

  • –projects: Làm việc với một vài module nhất định, chứ không phải toàn bộ project
  • –also-make: Build các project mà module cần build (được chỉ ra bằng –projects) phụ thuộc
  • –also-make-dependents: Build các project phụ thuộc vào module cần build (được chỉ ra bằng –projects).

Điểm tiện dụng của các option này là ta sẽ làm việc từ thư mục gốc của project, không cần phải chuyển vào từng module.

Giả sử ta có project A với các module như sau:

A
|_B
|_C -> B

(module C phụ thuộc module B).

Nếu bạn chưa install module B, các lệnh compile, test với C sẽ báo lỗi. Để test (hoặc compile) C một cách suôn sẻ, bạn dùng lệnh sau:

mvn –projects C test –also-make

Tất nhiên nếu module B đã ổn định, thì bạn nên install nó trước, bởi vì lệnh trên sẽ chạy test với cả module B. Để install module B, bạn dùng lệnh sau:

mvn –projects B install

Bây giờ khi làm việc với C, bạn không cần –also-make nữa. Không rõ vì sao mà ngay cả khi install B, thì HM vẫn không thể compile C được, vì java không resolve được các dependency(!). Thêm một lí do để dùng Maven từ dòng lệnh.

Và nếu bạn chính sửa gì đó ở module B, và muốn install lại, cùng với module C (để test, để kiểm tra xem bạn có break API của B không, v.v), bạn dùng lệnh sau:

mvn –project B install –also-make-dependents

Cuối cùng, nếu bạn muốn làm việc với nhiều module, chỉ cần phân tách giữa các module với dấu “,”:

mvn –project B,C

Gọn đẹp hơn dùng Eclipse, đúng không nào :D.

About these ads
Thẻ:
  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

Theo dõi

Get every new post delivered to your Inbox.

Join 28 other followers

%d bloggers like this: