2012-01-18 31 views
6

Nếu bạn có Dự án A và cần tất cả các phụ thuộc của Dự án B, bạn có khai báo Dự án B là phụ huynh của Dự án A, sử dụng thừa kế hoặc phụ thuộc của dự án A không? Họ dường như có tác dụng tương tự.Khai báo là phụ thuộc hoặc phụ huynh

Trả lời

6

Hai cách tiếp cận khác nhau, một là thừa kế và một cách khác là phụ thuộc đơn giản.

By phụ thuộc bạn sẽ chỉ có các phụ thuộc bắc cầu nhị phân của dự án B.

Bằng cách sử dụng như một dự án mẹ bạn sẽ kế thừa các cấu hình như plugin, xây dựng mô hình, kho, phụ thuộc quản lý, phụ thuộc và như vậy, nó phụ thuộc vào vụ án.

Quy tắc chung của tôi là dành cho cấu hình scm, cấu hình dự án và tiêu chuẩn phát triển hoặc công ty, tôi sử dụng dự án mẹ (kế thừa).

8

tôi muốn nói nếu dự án B là dành để hoạt động như một "cha mẹ phổ quát" hoặc somesuch - đó là một điểm khởi đầu cho nhiều dự án có phụ thuộc giống hệt nhau (hoặc với điểm khởi đầu tương tự cho sự phụ thuộc của họ) sau đó đi thẳng về phía trước và đặt B là parent.

Ngược lại, nếu nó thực sự là nhiều hơn một "điều tiện dụng để có" - ví dụ nó có phương pháp hữu ích/loại lõi rằng rất nhiều các dự án sẽ thấy hữu ích, nhưng không dựa vào cho sự tồn tại của họ, sau đó nó là một phụ thuộc hợp lý.

Bạn thậm chí có thể xem xét tách Dự án B thành hai dọc theo các dòng đó. Đó là những gì tôi đã làm trong quá khứ:

mygroup-parent là một dự án chỉ bao gồm tệp POM với các phụ thuộc mà tôi muốn mỗi dự án duy nhất để có được - thực thi một cách tiếp cận tiêu chuẩn. Ví dụ: tôi có TestNGMockito trong đó.

mygroup-core là một dự án Java chính thức có những thứ tiện dụng được sử dụng rất nhiều, nhưng không phải là điều bắt buộc. Tôi có các phương thức trợ giúp cho những thứ cụ thể cho trang web của tôi và các phụ thuộc như Apache HttpClient và Google Guava.

Các vấn đề liên quan