Hiçbir şey bulamadan böyle bir soruyu araştırdım, işte gidiyorum.Maven çoklu modül: ortak bağımlılıkları tek bir toplu olarak topluyor musunuz?
Çok modüllü bir maven projem var. Birden fazla modül, ortak bağımlılıkların tanımlandığı aynı üst öğeyi devralır. Bunlar arasında, bazı ortak işlevlerin uygulandığı bir 'ortak' olan kendi modüllerim var.
Sorum şu: Ortak bağımlılıklar için daha iyi bir uygulama ne olurdu: Şu anda yaptığım gibi ebeveynleri açık bir şekilde tanımlayın. Ya da onları diğer modüllerin referans aldığı 'ortak' bir modülde tanımlayın ve daha sonra geçişliliğe güvenin (ortak bağımlılıklar için tek giriş noktası gibi)?
Ancak bağımlılık yönetiminin viral olduğunu unutmayın. Yani A -> B, A -> C: 1.0 ve B -> C: 2.0, bağımlılık yönetimi yoluyla, A yapısında, normalden beklediğiniz gibi, C: 1.0 yerine C: 2.0 alırsınız. geçiş bağımlılık kuralları. İstediğiniz sürümü almak için A: C: 1.0'a zorlamak için bağımlılık yönetimi kullanmalıdır. Bu nedenle: viral. –
Evet, Bağımlılık Yönetimi etiketini biliyorum, ancak bir projeye bağlı olarak bağımlılık sürümlerinin bir aracı olarak, hataya açık bir fazlalık olmadan, daha çok görüyorum. Bununla birlikte, her modülde bağımlılıkları kendilerinde beyan etmeniz gerekiyor. ** Tüm ** (ya da hemen hemen) modüllerin bazı bağımlılıkları paylaştığı bir durum düşünmekteyim: sürümden bağımsız olarak, ebeveyndeki (şu anda yaptığım gibi) _global_ bağımlılıklarını tanımlamak ya da Diğer tüm kişilerin bağımlı olduğu bu özel amaç için modül – Eleaar
Yukarıda açıklandığı gibi bağımlılık Yönetimini kullanıyorum ve her modülün bağımlılıklarını modülün% 100'üne bağımlı olmadıkça modülün POM'sine bağımlı hale getiriyorum ... sonra da ana POM'a koydum. Her çocuk POM'da gerekli olmayan ana POM'a bağımlılık koymayın ve kesinlikle bağımlılıkları çekecek bir proje oluşturmayın. Bu bağımlılıkları çocuk modülleri arasında tekrarlamak çok da büyük bir şey değil çünkü üst sürümünde bağımlılıkManagement stanza olarak sürümü sağlamanız gerekmez. – HDave