İşte durum. WELD-001408 Arabirimleri uygularken EJB'leri enjekte ederken bağımlı olmayan bağımlılıklar
Ben ettik aşağıdaki arabirimler var:public interface Parent { }
public interface ChildOne extends Parent { }
public interface ChildTwo extends Parent { }
ve 2 EJB'ler:
@Stateless
public class FirstBean implements ChildOne { }
@Stateless
public class SecondBean implements ChildTwo { }
Ve ayrıca bu CDI Fasulye:
@Named
@SessionScoped
public class TestController implements Serializable {
@Inject
private FirstBean firstBean;
@Inject
private SecondBean secondBean;
}
bu dağıtmak çalışırken Glassfish 3.1 üzerinde aşağıdaki istisnai olsun:
Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:305)
Her iki EJB, Parent
arabirimini uygularken, istisna aynıdır.
Ayrıca, niteleyiciler eklemeye çalıştım, ancak bu hiçbir şeyi değiştirmedi.
Bir ton teşekkürler! Gerçekten iyi bir açıklama! Ve ejbRef ejb ... 'ye dönüştürülemedi, bu istisna ile karşılaştım. Bildiğim bir sorun olduğunu bilmiyordum. – jFrenetic
Bir kez daha kontrol ettim. Bu EJB'leri önerdiğiniz gibi arayüz referansıyla enjekte etmeye çalıştım.Ve hala dağıtım sırasında bu "İstenmeyen bağımlılıklar ..." istisnasını alıyorum. @Local ile arayüzleri bile ekledim. Hala çalışmıyor. – jFrenetic
Dün denedim ve benim için çalıştı, ayrıca biraz mantıklı. Her neyse, eve döndüğümde tekrar deneyeceğim. –