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