2012-05-19 52 views
18

Tôi có 3 maven dự ánMaven - Làm thế nào để xây dựng nhiều dự án độc lập Maven từ một dự án

  • WebComponents
  • DataComponents
  • ServiceComponents

Khi tôi xây dựng mỗi dự án tôi có để đi vào từng thư mục và chạy mvn clean install trên mỗi dự án.

Tôi đã xem xét các dự án đa mô-đun và hầu hết các tài nguyên tôi thấy gợi ý rằng tôi phải thực hiện thay đổi đối với cấu trúc của các dự án hiện có của mình.

Có thể có một dự án mới sẽ xây dựng từng dự án độc lập mà không cần phải thay đổi bất kỳ thứ gì trong dự án hiện có bao gồm cả tệp pom riêng lẻ của họ không?

Tôi có thể đạt được điều này bằng cách viết một tệp lô đơn giản để xây dựng mọi dự án nhưng có thể sử dụng Maven không?

Trả lời

30

Bạn đang tìm kiếm Maven aggregation without inheritance. Như được hiển thị trong trang được tham chiếu, bạn chỉ cần tạo một POM mới có bao bì là "pom" và có danh sách "mô-đun". Module là một đường dẫn tương đối cho một dự án Maven:

<project> 
    ... 
    <packaging>pom</packaging> 
    ... 
    <modules> 
    <module>foo</module> <!-- module is in a subdirectory of this project --> 
    <module>../bar</module> <!-- module is a sibling to this project --> 
    <module>../../../other-projects/baz</module> <!-- somewhere else entirely --> 
    </modules> 
</project> 

Mặc định hành vi khi xây dựng một pom như vậy - được biết đến như một "aggregator" - là để xây dựng tất cả các mô-đun như nếu bạn muốn thực hiện trong Maven mỗi thư mục mô-đun với cùng các đối số.

5

Nếu bạn thêm dự án tập hợp trong thư mục ở trên ba dự án đặt tên chúng làm mô-đun (tên mô-đun = tên thư mục con), nó sẽ tạo chúng mà không cần bất kỳ thay đổi nào trong POM riêng của chúng. Họ không cần phải tham chiếu nó như là một phụ huynh.

+0

Đây là một trợ giúp tuyệt vời! – NiranjanBhat

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