Maven'deki "reaktör" nedir?


105

Maven reaktörü hakkında bir şeyler okuyordum ve terminoloji kullanımıyla kafam karıştı. Çoklu modülün bir reaktör olduğunu, maven reaktörünü manipüle edebileceğinizi ve reaktörün bir eklenti olduğunu okudum. Reaktör tam olarak nedir?

Yanıtlar:


164

Reaktör, Maven'in bir dizi modül üzerinde bir hedef gerçekleştirmesine izin veren parçasıdır. Çok modüllü yapılarla ilgili Maven 1.x belgelerinde belirtildiği gibi (reaktör konsepti, Maven 1.x'te zaten vardı), modüller ayrı bir iş birimiyken, bunları eş zamanlı olarak oluşturmak için reaktör kullanılarak bir araya getirilebilirler ve:

Reaktör, her bir proje tarafından ilgili proje tanımlayıcılarında belirtilen bağımlılıklardan doğru inşa sırasını belirler ve daha sonra belirtilen bir dizi hedefi yürütür. Hem bina projeleri hem de site oluşturma gibi diğer hedefler için kullanılabilir.

Açıklandığı gibi, reaktör, çoklu modül yapılarını mümkün kılan şeydir: modüller arasındaki bağımlılıkların yönlendirilmiş grafiğini hesaplar, bu grafikten inşa sırasını türetir (bu nedenle döngüsel bağımlılıklara izin verilmez, ki bu zaten iyi bir şeydir) ve daha sonra modüller. Diğer bir deyişle, bir " çoklu modül yapısı ", bir " reaktör yapısı " ve bir " reaktör yapısı ", bir " çoklu modül yapısıdır. " .

Maven 2.x'te, çok modüllü yapıların desteği çok geliştirildi ve reaktör Maven kullanıcıları için şeffaf hale geldi. Ama hala orada ve kaputun altında kullanılıyor.

Eylül 2008'de (yani Maven 2'nin piyasaya sürülmesinden uzun bir süre sonra), Maven reaktörü ile (tekrar) daha yakın etkileşime girmeyi mümkün kılmak için bir reaktör eklentisi oluşturuldu. Brett Porter, Reactor: My New Favorite Maven Plugin'de bununla ilgili bir blog yazdı .

Reaktör eklenti özelliklerinin çoğu artık yerel olarak desteklenmektedir (Maven 2.1.0'dan beri). Bkz. Maven İpuçları ve Püf Noktaları: Gelişmiş Reaktör Seçenekleri .


10
Maven sitesi neden bu eklentinin "kullanımdan kaldırıldığını" söylüyor?
Mopparthy Ravindranath

4
Çünkü reaktör eklentisi, (yalnızca) gerçek reaktörle "konuşan" bir eklentidir. Yani reaktörün kendisi emekli değil, onunla ilgili bir eklenti.
Lonzak

8

Reaktör, bir proje çoklu modüllere sahip olduğunda kullanılır.

Reaktör tarafından yapılan iş:

  • Modül ayrıntılarını toplamak
  • Sırayı bağımlılıklara göre sıralama
  • Projeleri sırayla inşa etmek

2.1 sürümünden başlayarak, Maven'in çoklu modül projeleri oluşturma şeklini değiştirmenize izin veren yeni komut satırı seçenekleri bulunmaktadır. Bu yeni seçenekler şunlardır:

-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  

kaynak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.