Java OpenEJB在Junit中运行,不带ejb-jar.xml

Java OpenEJB在Junit中运行,不带ejb-jar.xml,java,jakarta-ee,junit,ejb-3.0,openejb,Java,Jakarta Ee,Junit,Ejb 3.0,Openejb,我想使用openEJB进行Junit测试。我可以用ejbjar.xml运行它。但是在这种情况下,我无法在jboss中运行EJB应用程序,因为我没有使用EJB jar.xml进行设置。相反,我使用注释。 因此,如果我使用ejbjar.xml,我就无法运行我的应用程序 下面是我的ejb-jar.xml文件内容。它实际上是一个空标签 <ejb-jar/> 如果我删除ejbjar.xmlJunit测试失败,它说找不到jndi名称 这个问题的解决方案是什么?好的,我发现了问题。 首先,

我想使用
openEJB
进行
Junit
测试。我可以用
ejbjar.xml
运行它。但是在这种情况下,我无法在
jboss
中运行
EJB
应用程序,因为我没有使用
EJB jar.xml
进行设置。相反,我使用
注释
。 因此,如果我使用
ejbjar.xml
,我就无法运行我的应用程序

下面是我的ejb-jar.xml文件内容。它实际上是一个空标签

 <ejb-jar/>

如果我删除
ejbjar.xml
Junit测试失败,它说找不到jndi名称

这个问题的解决方案是什么?

好的,我发现了问题。 首先,我将ejb-jar.xml从main迁移到测试包。 src>test>resources>META-INF>ejb-jar.xml

这对我没有帮助

然后我将这个属性行添加到我的测试类中

    Properties properties = new Properties();
    properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
    // Below property actually was missing and caused this problem. I add it then it works fine.
    properties.setProperty("openejb.deployments.classpath.include", ".*");

    initialContext = new InitialContext(properties);
现在我可以在Jboss中部署EJB,也可以在Junit测试中部署EJB