【问题标题】:CDI @Inject throws NullPointerException on Websphere 8.5CDI @Inject 在 Websphere 8.5 上抛出 NullPointerException
【发布时间】:2013-06-14 14:22:26
【问题描述】:

我在 websphere 8.5 上部署了一个耳朵。

应用程序由一个 ejb jar 和一个 webapp (Spring MVC) 组成。

这是我的 ejb:

    @Stateless
    public class DiscrepanciesServiceImpl implements DiscrepanciesService {

@Inject
private DiscrepancyDao discrepancyDao;

public DiscrepanciesServiceImpl(){};

public List<Discrepancy> viewDiscrepancies() {

            return discrepancyDao.findAll();
}

}

discrepancyDao 是一个扩展泛型接口的接口,如下所示:

   public interface DiscrepancyDao extends _GenericDao<Discrepancy> {

}

由 DiscrepancyDaoImpl 实现如下:

        @Named("discrepancyDao")
        public class DiscrepancyDaoImpl extends _GenericDaoImpl<Discrepancy> implements  DiscrepancyDao {  }

当我调用 viewDiscrepancies() 时,我在 discrepancyDao 上得到 nullpointerexception(由 CDI 注入)

我已经部署在 WAS 8.5 上,我的空 beans.xml 位于 META-INF 文件夹中。 在部署期间,was 的控制台工作正常,没有错误。 提前感谢您的回答。 问候 法比奥

【问题讨论】:

    标签: nullpointerexception websphere cdi inject throws


    【解决方案1】:

    在 WAR 中,beans.xml 进入 WEB-INF。

    【讨论】:

    • 是所有有问题的类都在 EJB jar 中,还是在 WAR 中? IIRC WAS 中的 Bean Archive 设置有点棘手,您可能需要在两个地方都包含 beans.xml 才能让一切正常工作。
    猜你喜欢
    • 2017-11-08
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    相关资源
    最近更新 更多