Java JBoss EAP 6上JAX-RS中的CDI注入

Java JBoss EAP 6上JAX-RS中的CDI注入,java,dependency-injection,cdi,jboss-eap-6,Java,Dependency Injection,Cdi,Jboss Eap 6,我有一个JAX-RS类: @Path("/") @RequestScoped public class Customer { @Inject private CustomerDAO cDao; } 其中CustomerDAO是一个POJO,我在WEB-INF中有一个空的beans.xml ciao仍然无效。我尝试过分散@ManagedBean、@Stateless、@Named等等,但似乎没有什么不同。有什么建议吗?您如何调试它呢?我想您的客户Rest资源与beans.xml文

我有一个JAX-RS类:

@Path("/")
@RequestScoped
public class Customer {
    @Inject
    private CustomerDAO cDao;
}
其中CustomerDAO是一个POJO,我在WEB-INF中有一个空的beans.xml


ciao仍然无效。我尝试过分散@ManagedBean、@Stateless、@Named等等,但似乎没有什么不同。有什么建议吗?您如何调试它呢?

我想您的客户Rest资源与beans.xml文件不在同一个jar中。打包后,解压jar文件以进行检查。

我有一个类似以下内容的应用程序类:

public class MyApplication extends Application {

    private Set<Object> resourceObjects = new HashSet<Object>();

    public MyApplication() {
        resourceObjects.add(new Customer());
    }
    @Override
    public Set<Object> getSingletons() {
        return resourceObjects;
    }
}
事实证明,我不需要在这个类的主体中加入任何东西,它就可以继续工作,而ii通过调用new,我跳过了CDI。不重写GetSingleton会修复该行为