OpenEJB在没有ejb-jar.xml的情况下在Junit中运行

时间:2014-02-14 08:00:05

标签: java java-ee junit ejb-3.0 openejb

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

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

 <ejb-jar/>

如果我删除ejb-jar.xml Junit测试失败并且说找不到jndi名称。

这是什么解决方案?

1 个答案:

答案 0 :(得分:0)

好的,我发现了这个问题。 首先,我将ejb-jar.xml移动到main的测试包中。 src&gt;测试&gt;资源&gt; META-INF&gt; 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。