2014-01-05 2 views
1

Eclipse 경고 및 CDI @ 주입에 관한 질문이 있습니다.주입 지점에 대한 Eclipse 및 불완전하거나 모호한 종속성 :

내가 (CDI 콩) 이메일 검증을위한 코드가 :

@Named(value = "emailValidator") 
@ApplicationScoped 
@FacesValidator("emailValidator") 
public class EmailValidator extends AbstractCDIBean<EmailValidator> implements Validator { 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    @Inject 
    private UserLocal     userLocal; 
    ... 

그것은 작동하지만 이클립스는 말한다 :

없음 빈이 주입 지점에 주입을받을 수 없다 [JSR- 299 §5.2.1] (주입 지점에 대해 만족스럽지 않거나 모호한 의존성).

내가 뭘 잘못하고 있니? Eclipse는 최신 버전입니다.

private UserLocal userLocal; 

클래스는 EJB 콩 (public interface UserLocal{ methods...})

답변

2

당신은 @EJB에 의해 @Inject을 대체 할 또는 당신이 당신의 EJB 구현에 @Dependent 범위를 넣을를 호출하기위한 로컬 인터페이스입니다.

@Inject은 범위 인식 beans 만 필요로하기 때문입니다.

나중에 참조 용으로 사용하십시오. these troubleshooting tips

+1

이것은 좋은 대답입니다. jboss kitchensink 예제에는 일반적으로 package.util.Resources bean이 있으며 범위가 주석되지 않습니다. @Dependent를 추가하여 경고를 수정하고 문제를 배포했습니다. –