2009-10-23 22 views
8

Có thể thực hiện không?Xây dựng mô-đun đơn từ multimodule pom

Môi trường: Multimodule pom bao gồm 3 mô-đun: mm1, mm2, mm3. Mô-đun mm2 có mm1 là phụ thuộc. Có thể xây dựng pom cha mẹ mà không có bất kỳ lỗi nào.

Câu hỏi: Có thể xây dựng mô-đun đơn mm2 (tức là, chạy maven từ thư mục cơ sở mm2) mà không cần cài đặt mm1 vào kho lưu trữ cục bộ không?

Cảm ơn.

+0

Bạn có Rodolphe? Bạn có miễn phí không? : D –

+0

Xin lỗi, cái gì? :) – igorp1024

Trả lời

3

Nếu không cài đặt tự động không, nhưng có thể chỉ xây dựng các dự án được chọn. Bạn cần phải có nhiều mô-đun xây dựng (tôi giả sử bạn làm). Trong chế độ lò phản ứng, mọi lệnh cần được chạy từ gốc của lò phản ứng.

Vì vậy, trong trường hợp của bạn:

mvn reactor:make -Dmake.folders=mm2

Trong trường hợp này bạn xây dựng mô-đun mm2 và các module mà nó phụ thuộc (MM1).

Liên kết hữu ích:

Từ ví dụ cuốn sách tôi xây dựng chỉ dự án kéo dài và mô hình dự án phụ thuộc của mình.Những người khác dự án đang hoang sơ với mvn reactor:make -Dmake.folders=sample-persist

alt text http://www.sonatype.com/books/maven-book/reference/figs/web/running_aro-dependencies.png

lệnh hữu ích khác được reactor:make-dependents đó xây dựng các dự án phụ thuộc vào X.

0

Điều này đi ngược lại nguyên tắc phụ thuộc của Maven2. Lợi ích của việc đó là gì?

Tuy nhiên, chúng ta có thể tưởng tượng để xác định sự phụ thuộc của MM1 mm2 như một sự phụ thuộc system:

<dependency> 
    <groupId>...</groupId> 
    <artifactId>mm1</artifactId> 
    <version>...</version> 
    <scope>system</scope> 
    <systemPath>../mm1/target/</systemPath> 
</dependency> 
+0

Điều này làm cho mắt tôi chảy máu :) –

14

Tôi không chắc chắn những gì bạn có nghĩa là chính xác bởi "mà không cần cài MM1 vào kho lưu trữ địa phương". Bạn có nghĩa là trước đây để xây dựng mm2 hoặc không bao giờ?

Trong nghi ngờ, có lẽ một trong những build tùy chọn mới công bố trong bài Maven Tips and Tricks: Advanced Reactor Options blog có thể giúp:

Bắt đầu với 2.1 phát hành Maven, có mới Maven dòng lệnh tùy chọn cho phép bạn thao tác cách Maven sẽ xây dựng các dự án đa phương thức . Những tùy chọn mới là:

-rf, --resume-from 
     Resume reactor from specified project 
-pl, --projects 
     Build specified reactor projects instead of all projects 
-am, --also-make 
     If project list is specified, also build projects required by the list 
-amd, --also-make-dependents 
     If project list is specified, also build projects that depend on projects on the list 

tôi đã đặc biệt nghĩ đến các tùy chọn -pl-am. Để xây dựng một tập hợp con các mô-đun, hãy chạy phần sau từ thư mục gốc

$ mvn --projects mm2 --also-make install 

Tuy nhiên, tôi không chắc chắn câu trả lời của bạn (điều này không hoàn toàn rõ ràng đối với tôi).

+0

+1 Bây giờ tôi thấy rằng tôi đã không đọc bài đăng của bạn một cách cẩn thận và viết gần như cùng một câu trả lời. – cetnar

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