我对Eclipse警告和CDI @Inject有疑问。
我有电子邮件验证代码(CDI bean):
@Named(value = "emailValidator")
@ApplicationScoped
@FacesValidator("emailValidator")
public class EmailValidator extends AbstractCDIBean<EmailValidator> implements Validator {
/**
*
*/
private static final long serialVersionUID = 1L;
@Inject
private UserLocal userLocal;
...
它有效,但Eclipse说:
没有bean有资格注射到注射点[JSR-299§5.2.1](注射点的不满意或模糊的依赖性)。
我做错了什么? Eclipse是最新版本。
private UserLocal userLocal;
Class是用于调用EJB bean (public interface UserLocal{ methods...})
答案 0 :(得分:2)
您希望将@Inject
替换为@EJB
,或者您希望将@Dependent
范围放到EJB实现中。
原因是@Inject
只需要范围感知的bean。
如需将来参考,请使用these troubleshooting tips