JSF部署异常:EntityManager类型的未满足依赖项

JSF部署异常:EntityManager类型的未满足依赖项,jsf,jakarta-ee,maven,jboss,inject,Jsf,Jakarta Ee,Maven,Jboss,Inject,我只是按照ticket monster tutorial()的步骤,在我的解决方案中添加了一个rest服务类 package projectFoo.rest; import java.util.List; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.ws.rs.GET; import j

我只是按照ticket monster tutorial()的步骤,在我的解决方案中添加了一个rest服务类

package projectFoo.rest;
import java.util.List;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import projectFoo.model.party;


@Path("/partys")
@RequestScoped
public class partyService {

@Inject
private EntityManager em;

@GET
@Produces(MediaType.APPLICATION_JSON)
 public List<party> getAllEvents() {
    @SuppressWarnings("unchecked")
    final List<party> results =
            em.createQuery(
            "select e from party e order by e.name").getResultList();
    return results;
}
}

我必须为实体管理器添加bean吗?这个应该是什么样子?本教程没有提到这一点。实际上,我在最终的ticketmonster项目中找不到bean的任何定义。

在未启用CDI的工件中找到了
EntityManager
(JPA提供程序JAR不包含
beans.xml

您可以使用
@Inject
的insead中的“good old”
@PersistenceContext
注释,或者如果要使用
@Inject
,则需要为EntityManager提供一个生产者,如下所示:

class Resources {
   @SuppressWarnings("unused")
   @Produces
   @PersistenceContext
   private EntityManager em;
...
class Resources {
   @SuppressWarnings("unused")
   @Produces
   @PersistenceContext
   private EntityManager em;
...