首页 > 解决方案 > 在同一个 jar 模块中将一个 ejb bean 注入另一个 ejb bean 不起作用

问题描述

我的 jar 模块中有两个 bean -> bean A:

@Singleton
public final class A {
    public String getS() {
        return"";
}

和同一个 jar 模块中的第二个 bean B:

@Stateless
public final class B {
    @Inject
    private A a;

    public String getAS() {
        a.getS() // -> NullPointerException
    }
}

我有文件beans.xml

src/main/resources/META-INF/
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<scope>provided</scope>

被添加到 pom.xml 中,但仍然注入的 A 为空。

在生成的 jar 文件中存在 beans.xml

我是否错过了什么?

标签: jbossejbcdiweld

解决方案


使用 maven 构建 jar 的 beans.xml 的默认位置是

src/main/resources/META-INF/

推荐阅读