当我将JSFbean从WAR模块移动到Java库(JAR)时,@EJB不起作用

当我将JSFbean从WAR模块移动到Java库(JAR)时,@EJB不起作用,jsf,jakarta-ee,netbeans,Jsf,Jakarta Ee,Netbeans,我有一个JSFbean-in-WAR模块,它有一个可以工作的@EJB。当我将JSFbean移动到Java库JAR中时,@EJB不起作用,当我尝试访问EJB时,会得到一个NullPointerException。我需要从场景一转到场景二: 情景一: 企业应用 战争单元: JSF页面: <p>#{testController.test}</p> <p>#{testController.test}</p> EJB模块: @Stateless publ

我有一个JSFbean-in-WAR模块,它有一个可以工作的@EJB。当我将JSFbean移动到Java库JAR中时,@EJB不起作用,当我尝试访问EJB时,会得到一个NullPointerException。我需要从场景一转到场景二:

情景一:

企业应用

战争单元:

JSF页面:

<p>#{testController.test}</p>
<p>#{testController.test}</p>
EJB模块:

@Stateless
public class TestEjbImpl implements TestEjb {

    @Override
    public String test() {
        return (new Date()).toString();
    }

}
@Stateless
public class TestEjbImpl implements TestEjb {

    @Override
    public String test() {
        return (new Date()).toString();
    }

}
情景二:

企业应用

战争单元:

JSF页面:

<p>#{testController.test}</p>
<p>#{testController.test}</p>
Java库JAR:

@Named
public class TestController {

    @EJB
    private TestEjb testEjb;

    public String getTest() {
        return testEjb.test(); // Here I get a NullPointerException
    }

}

我用Java库创建了一个企业应用程序项目,该库再现了这个问题。这是一个Netbeans项目:

您将JAR放在哪里?它在WEB-INF/lib中吗?Netbeans将JAR放在EAR的lib文件夹中。EAR/WAR/WEB-INF中没有WEB-INF/lib文件夹。我在WAR项目属性库中添加了JAR。