2016-03-24 13 views
0

Her biri aynı arabirimde @Provides yapan iki Guice modülüne sahibim. Her biri bağımsız olarak iyi çalışır.Guice Modules.Çoğul modüllerde belirtilen bağlanmada hata var mı?

Şimdi her ikisini de getirmek isteyen 3 modülüm var. Modules.override için ideal görünen 3. modülün @Provides'i diğerlerine vurmasını istiyorum. Gerçekten, bu işler.

Modules.override(childModule1).with(parent); 

Ebeveyn çocuğun bağını koyar. Harika!

Ancak bu, başarısız :(. Bu durumda

Modules.override(childModule1, childModule2).with(parent); 

, bir Foo bağlanarak childModule2 tarafından "zaten bağlı" olduğunu şikayet ediyor. Geçersiz kılma gibi görünüyor yapıyor bir alt modülü varsa çalışır sağlayarak. mı var ben kaçırmıştım şey bu işi yapmak için? bir çözüm anladım

cevap

1

, bu hack kategorisinde sıkıca görünmesine rağmen. Ben overides yuva gerekiyordu.

Modules.override(Modules.override(childModule1).with(childModule2)).with(parent);