Dependency injection @PersistenceContext无法解析为类型
我运行的代码中有一个依赖项Dependency injection @PersistenceContext无法解析为类型,dependency-injection,annotations,javabeans,managed-bean,Dependency Injection,Annotations,Javabeans,Managed Bean,我运行的代码中有一个依赖项@PersistenceContext和一个字段private EntityManager em;这两个错误都无法解析为一个类型,此错误的含义是什么,如何修复它? 代码如下: package org.jboss.tools.examples.util; import java.util.logging.Logger; import javax.enterprise.context.RequestScoped; import javax.en
@PersistenceContext
和一个字段private EntityManager em
;这两个错误都无法解析为一个类型,此错误的含义是什么,如何修复它?代码如下:
package org.jboss.tools.examples.util;
import java.util.logging.Logger;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.faces.context.FacesContext;
/**
* This class uses CDI to alias Java EE resources, such as the persistence context, to
CDI beans
*
* <p>
* Example injection on a managed bean field:
* </p>
*
* <pre>
* @Inject
* private EntityManager em;
* </pre>
*/
public class Resources {
// use @SuppressWarnings to tell IDE to ignore warnings about field not being referenced directly
@SuppressWarnings("unused")
@Produces
@PersistenceContext
private EntityManager em;
@Produces
public Logger produceLog(InjectionPoint injectionPoint) {
return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
@Produces
@RequestScoped
public FacesContext produceFacesContext() {
return FacesContext.getCurrentInstance();
}
}
package org.jboss.tools.examples.util;
导入java.util.logging.Logger;
导入javax.enterprise.context.RequestScope;
导入javax.enterprise.inject.products;
导入javax.enterprise.inject.spi.InjectionPoint;
导入javax.faces.context.FacesContext;
/**
*此类使用CDI将Java EE资源(如持久性上下文)别名为
CDI豆
*
*
*托管bean字段上的注入示例:
*
*
*
* @注射
*私人实体管理者;
*
*/
公共类资源{
//使用@SuppressWarnings告诉IDE忽略关于未直接引用字段的警告
@抑制警告(“未使用”)
@产生
@持久上下文
私人实体管理者;
@产生
公共记录器produceLog(注入点注入点){
返回Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
@产生
@请求范围
public FacesContext produceFacesContext(){
返回FacesContext.getCurrentInstance();
}
}
您缺少PersistenceContext注释和EntityManager的导入语句
谢谢Anshu,现在我得到了:import javax.persistence无法解析import javax.persistence无法解析请确保您的类路径中有现在解析的所需库我有“NotEmpty无法解析为类型”
@NotEmpty
和“电子邮件无法解析为类型”@Email
:)如果您使用的是IDE,您不能只执行组织导入吗?
import javax.persistence.PersistenceContext;
import javax.persistence.EntityManager;