2012-11-07 22 views
35

Có cách nào để loại trừ một số mô-đun khỏi xây dựng lò phản ứng lớn, tương tự như -pl không?Làm cách nào để loại trừ một số mô-đun nhất định khỏi xây dựng Maven bằng cách sử dụng dòng lệnh

Dưới đây là một số cách để làm điều đó liên tục:

How to exclude a module from a Maven reactor build?

tôi muốn làm điều đó từ vỏ, hoặc ít nhất mà không sửa đổi poms, mà tôi không được phép thay đổi.

+0

Sử dụng hồ sơ có vẻ là cách dễ nhất và chính xác nhất đối với tôi. –

+0

@AndrewLogvinov có thể được thực hiện trong settings.xml? Việc tắt các kiểm tra trên mỗi hồ sơ sẽ không được đánh giá cao ở các poms trung tâm. ;-) – Bastl

Trả lời

59

Maven 3.2.1 đã bổ sung tính năng này, bạn có thể sử dụng để xác định các dự án chính xác mà bạn muốn (hoặc để loại trừ các dự án bạn không muốn) -pl hoặc --projects Dưới đây là làm thế nào để loại trừ hai:

-pl "!<modulename>,!<modulename2>" 

để loại trừ các mô-đun nhất định. Đây có thể là danh sách các giá trị được phân tách bằng dấu phẩy mà bạn muốn bao gồm/loại trừ.

+1

! không hoạt động trong cửa sổ. là có từ khóa khác nhau! cho cửa sổ? – iMBMT

7

Tôi không tin rằng điều này hiện có thể thực hiện được từ dòng lệnh. Có một yêu cầu tính năng mở trong maven3 cho điều này (http://jira.codehaus.org/browse/MNG-5230).

Có vẻ như tùy chọn duy nhất của bạn vào thời điểm này là sửa đổi pom và tạo hồ sơ xây dựng mới chỉ bao gồm các mô-đun bạn muốn tạo.

+0

Xuất hiện nó đã được triển khai ... – rogerdpack

8

Như Yogesh_D đã viết nó có thể được thực hiện với sự tranh luận -pl với maven 3.2.1+

Dưới đây là một ví dụ:

> mvn clean install -amd -pl !module,!module/submodule 

Bạn cần phải liệt kê tất cả các sub-module (và sub-sub -module vv) theo cách thủ công, nó không loại trừ chúng đệ quy. Sử dụng dấu gạch chéo để tách gói. Đó là đường dẫn thư mục, không phải là nhóm hoặc id tạo tác.

+0

Nếu không có thông tin này, câu trả lời được chấp nhận không hoạt động –

34

Một bình luận về câu trả lời được chấp nhận, đừng quên để thoát khỏi dấu chấm than khi chạy lệnh trong bash:

> mvn clean install -pl \!module,\!module/submodule,\!groupId:artifactId 
+0

hoặc bao quanh với dấu ngoặc kép :) – rogerdpack

+0

Dấu nháy đơn ('), nghĩa là – dstibbe

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