0

当我尝试将我的应用程序部署到 Glassfish Server 时出现此异常:

org.jboss.weld.exceptions.DeploymentException:WELD-001409 在注入点 [[BackedAnnotatedField] @Inject com.tugay.fup.web.MyUploadedFilesBean.fileReferenceDao] 带有限定符 [@Default] 的类型 [FileReferenceDao] 的不明确依赖项。可能的依赖项 [[Session bean [class com.tugay.fup.core.dao.FileReferenceDao with qualifiers [@Any @Default]; 本地接口是 [FileReferenceDao],会话 bean [class com.tugay.fup.core.dao.FileReferenceDao 带有限定符 [@Any @Default];本地接口是 [FileReferenceDao]]]

有趣的部分是

可能的依赖项 [[Session bean [class com.tugay.fup.core.dao.FileReferenceDao with qualifiers [@Any @Default]; 本地接口是 [FileReferenceDao],会话 bean [class com.tugay.fup.core.dao.FileReferenceDao 带有限定符 [@Any @Default];本地接口是 [FileReferenceDao]]]

这是怎么回事?

我只有一个 FileReferenceDao,它没有接口或其他任何东西。它不扩展任何其他类。这就是我使用它的方式:

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

@Named
@RequestScoped
public class MyUploadedFilesBean {

    @Inject
    FileReferenceDao fileReferenceDao;

直到 15 分钟前一切正常。

我尝试将 JSF 托管 bean 与 CDI bean 混合,它不起作用,我回滚了。现在我得到了这个例外。

@Stateless public class FileReferenceDao {

    @PersistenceContext(unitName = "Persistence")
    EntityManager em;
4

0 回答 0