2013-05-09 13 views
28

Bir maven döngüsel bağımlılığı nasıl çözebiliriz? A ana proje ve B ve C çocuk projeleri olduğunu varsayalım. B'nin C'ye bağımlı olması ve C'nin B'ye bağımlı olması durumunda, farklı bir projeye sahip olmaktan başka döngüsel bağımlılığı çözmek için herhangi bir yol var mıdır?maven döngüsel bağımlılığını nasıl çözebilirim

Şimdiden teşekkürler, forumlarda arama yaptım, ancak kesin çözüm bulamadım. Herhangi bir olasılık varsa lütfen bana bildirin. aksi takdirde ilk inşa etmek hangi proje belli değil çünkü

+1

Yeni bir proje oluşturmayı ihmal ettiniz, bu benim yapmam gereken şeydi ... Bunu yapmak istememenizin bir nedeni var mı? En iyi çözüm olurdu. – NilsH

cevap

19

Maven'in, projeler arasında döngüsel bağımlılıkları izin vermez. Yani bu döngüden kurtulmanız gerekiyor. Bir çözüm daha önce bahsettiğiniz, başka bir proje oluşturmak için. Bir diğeri ise, bazı sınıfları B'den C'ye ya da bunun tersi olduğunda yardımcı olur. Ya da bazen iki tane olması gerekmiyorsa B ve C projelerini bir projeye birleştirmek doğrudur.

Ama bilmek ve projeler bunun en iyi çözümü önermek tür zor birbirlerine bağlıdır nedeninin analiz etmeden

.

JDepend veya InteliJ analiz aracını kullanarak sorunlu sınıflarınızı bulmak ve yazılımınız için daha iyi bir tasarım bulmak için bu araçları kullanabilirsiniz. Çoğu zaman

ben çoğu döngüleri kurtulur bir arayüz modülü ve ve uygulama modülü gibi bir şey yaratmak.

6

Yeni bir proje oluşturmak gerçekten bir çözüm.

Bağımlılık Tersine çevirme ikinci olası çözümdür.

Asiklik Bağımlılık İlke için here bakın. Bağımlılık Inversion İlke için

Ve here.