Java 运行maven测试时出现异常

Java 运行maven测试时出现异常,java,maven,jboss,ejb,jndi,Java,Maven,Jboss,Ejb,Jndi,我有一个maven客户端项目,作为maven测试运行。我在junit测试中做的第一件事是使用jndi字符串进行查找。这里我接收到一个无状态bean代理,它被强制转换到远程接口。只要我从接口调用一个方法(比如保存一些域对象,它使用一个数据访问对象,它使用jpa),我就会收到异常 javax.ejb.NoSuchEJBException: No such EJB[appname=,modulename=someName,distinctname=,beanname=SomeBean] 文档中说:“

我有一个maven客户端项目,作为maven测试运行。我在junit测试中做的第一件事是使用jndi字符串进行查找。这里我接收到一个无状态bean代理,它被强制转换到远程接口。只要我从接口调用一个方法(比如保存一些域对象,它使用一个数据访问对象,它使用jpa),我就会收到异常

javax.ejb.NoSuchEJBException: No such EJB[appname=,modulename=someName,distinctname=,beanname=SomeBean]
文档中说:“如果试图调用不再存在的有状态会话或单例对象上的业务方法,则会引发NoSuchEJBException”。问题是bean是无状态的,不是有状态的,也不是单例的。我还非常确定jndi字符串是正确的,因为如果我在客户机项目的主方法中进行相同的查找和持久性方法调用(以maven build的“install jboss as:deploy”运行),一切都会正常工作。
在测试时如何使用代理中的持久性方法,有什么建议吗?有些同事有类似的设置,在没有Arquillian左右的情况下也能正常工作。

我不知道为什么,但现在可以了。我所做的是在所有DaoBean继承的抽象泛型DaoBean中删除EntityManager的getter方法。在执行客户端时,getter突然显示为错误(以前没有显示为错误)。

您的同事通过远程接口使用无状态sessionbeans?