"Lò phản ứng" ở Maven là gì?


105

Tôi đã đọc về lò phản ứng Maven và cảm thấy bối rối trước cách sử dụng thuật ngữ của nó. Tôi đã đọc rằng một đa mô-đun là một lò phản ứng, bạn có thể thao tác với lò phản ứng maven và lò phản ứng là một plugin. Chính xác thì lò phản ứng là gì?

Câu trả lời:


164

Lò phản ứng là một phần của Maven cho phép nó thực hiện một mục tiêu trên một tập hợp các mô-đun. Như đã đề cập trong tài liệu Maven 1.x về các bản dựng nhiều mô-đun (khái niệm lò phản ứng đã có trong Maven 1.x), trong khi các mô-đun là đơn vị công việc rời rạc, chúng có thể được tập hợp lại với nhau bằng cách sử dụng lò phản ứng để xây dựng chúng đồng thời và:

Lò phản ứng xác định thứ tự xây dựng chính xác từ các phụ thuộc được nêu bởi từng dự án trong các bộ mô tả dự án tương ứng của chúng, và sau đó sẽ thực hiện một tập hợp các mục tiêu đã nêu. Nó có thể được sử dụng cho cả dự án xây dựng và các mục tiêu khác, chẳng hạn như tạo trang web.

Như đã giải thích, lò phản ứng là thứ giúp cho việc xây dựng nhiều mô-đun trở nên khả thi: nó tính toán biểu đồ có hướng của các phụ thuộc giữa các mô-đun, lấy thứ tự xây dựng từ biểu đồ này (đó là lý do tại sao các phụ thuộc theo chu kỳ không được phép, đó là điều tốt) và sau đó thực hiện các mục tiêu trên các mô-đun. Nói cách khác, "bản dựng nhiều mô-đun " là "bản dựng lò phản ứng " và "bản dựng lò phản ứng " là "bản dựng nhiều mô-đun ".

Trong Maven 2.x, việc hỗ trợ các bản dựng đa mô-đun đã được cải thiện rất nhiều và lò phản ứng đã trở nên minh bạch đối với người dùng Maven. Nhưng nó vẫn ở đó và được sử dụng dưới mui xe.

Vào tháng 9 năm 2008 (tức là một thời gian dài sau khi ra mắt Maven 2), một plugin lò phản ứng đã được tạo ra để có thể tương tác (một lần nữa) chặt chẽ hơn với lò phản ứng Maven. Brett Porter đã viết blog về nó trong Reactor: Plugin Maven yêu thích mới của tôi .

Hầu hết các tính năng plugin lò phản ứng hiện được hỗ trợ nguyên bản (kể từ Maven 2.1.0). Xem Mẹo và Thủ thuật Maven: Tùy chọn Lò phản ứng Nâng cao .


10
Tại sao trang web maven nói rằng plugin này đã "nghỉ hưu"?
Mopparthy Ravindranath

4
Bởi vì plugin lò phản ứng là một plugin (duy nhất) "nói chuyện" với lò phản ứng thực tế. Vì vậy, không phải bản thân lò phản ứng đã ngừng hoạt động mà là một plugin liên quan đến nó.
Lonzak

8

Lò phản ứng được sử dụng khi một dự án có nhiều mô-đun.

Công việc được thực hiện bởi lò phản ứng là:

  • Thu thập chi tiết mô-đun
  • Sắp xếp thứ tự dựa trên phụ thuộc
  • Xây dựng các dự án theo thứ tự

Bắt đầu với bản phát hành 2.1, có các tùy chọn dòng lệnh mới cho phép bạn thao tác theo cách Maven sẽ xây dựng các dự án nhiều mô-đun. Các tùy chọn mới này 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  

nguồn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.