2009-10-01 35 views
6

Có cách nào để kích hoạt lệnh cài đặt maven từ lệnh cài đặt maven khác không?Kích hoạt lệnh cài đặt maven từ lệnh cài đặt maven khác

Nói cách khác, tôi muốn có thể thực thi lệnh cài đặt maven trên dự án maven (trong nhật thực) và tôi muốn điều này sẽ tự động gây ra lệnh cài đặt trên một dự án maven khác. Có thể không?

Trả lời

4

Cách Maven để "kích hoạt" một bản dựng khác là xác định multi-module build. Một dự án cha mẹ pom có ​​thể chỉ định các mô-đun, tất cả sẽ được xây dựng bằng cách sử dụng vòng đời tiêu chuẩn. Vì vậy, chạy mvn install trên phụ huynh sẽ có nghĩa là mỗi mô-đun được xây dựng lần lượt.

Cha mẹ được định nghĩa với pom packagin, và sẽ có một tuyên bố module như thế này:

<modules> 
    <module>module-a</module> 
    <module>module-b</module> 
</modules> 

Ngoài ra nó có thể đính kèm hiện vật bổ sung cho một xây dựng nên chúng được triển khai cùng với các hiện vật chính (giả sử họ 've đã được đóng gói, bạn có thể sử dụng build-helper-maven-plugin để attach một tập tin tùy ý để pom của bạn, vì vậy nó sẽ được triển khai với sự phân loại cụ thể. các cấu hình sau đây sẽ đính kèm tập tin quy định như my-artifact-1.0-extra.jar

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
     <execution> 
     <id>attach-artifacts</id> 
     <phase>package</phase> 
     <goals> 
      <goal>attach-artifact</goal> 
     </goals> 
     <configuration> 
      <artifacts> 
      <artifact> 
       <file>/path/to/extra/file.jar</file> 
       <type>jar</type><!--or specify your required extension--> 
       <classifier>extra</classifier> 
      </artifact> 
      </artifacts> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
4

Như đã chỉ ra, cách maven để khởi động một mục tiêu (cho phép nói mvn install) trên một tập hợp các mô-đun là tổ chức chúng như là một dự án đa mô-đun và để khởi động mục tiêu trên pom mẹ. Phía sau hiện trường, Maven sẽ sử dụng một "lò phản ứng Maven" cho công việc này. Lò phản ứng sẽ tính toán thứ tự xây dựng bằng cách thực hiện một loại topo của các nút của biểu đồ đạo trình được xây dựng bởi mối quan hệ phụ thuộc giữa các mô-đun. Biểu đồ này được tạo bằng cách xem các thẻ <modules><dependencies> trong poms.

Nhưng tung ra maven từ cha mẹ không phải là lựa chọn duy nhất và maven cung cấp nhiều khả năng để chơi với các lò phản ứng (ví dụ như thực hiện một dự án và sự phụ thuộc của nó hoặc những người phụ thuộc vào nó):

Hãy khám phá, nó có thể giúp bạn đạt được mục tiêu của mình.

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