在发生此异常之前,我有两个项目
分页 - >一个使用EJB的简单struts2 Web应用程序
Simple PagingWithAjaxJSON-ejb - >上面项目引用的EJB应用程序。
一切都按预期工作。
之后我决定将Maven用于我的应用程序。我根据Web应用程序的Maven目录结构更改了第一个应用程序(Paging)。所以我不得不在源代码中只更改包导入。
之前(在分页应用中)
import beans.personBeanRemote;
.
.
and so on..
之后(当前应用)
import com.mycompany.ajaxstruts2.beans.personBeanRemote;
.
.
and so on..
以及相应的包装说明。
除了这一切都是同样的。
但是这次当我浏览同一个文件index.jsp时,它说
**Struts Problem Report
Struts has detected an unhandled exception:
Messages:
beans.personBeanRemote
ejb ref resolution error for remote business interfacebeans.personBeanRemote
Lookup failed for 'java:global/SimplePagingWithAjaxJson-ejb/personBean!beans.personBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
javax.naming.NamingException: Lookup failed for 'java:global/SimplePagingWithAjaxJson-ejb/personBean!beans.personBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: ejb ref resolution error for remote business interfacebeans.personBeanRemote [Root exception is java.lang.ClassNotFoundException: beans.personBeanRemote]]
File: org/glassfish/web/loader/WebappClassLoader.java
Line numbe 1578**
index.jsp中的代码片段在之前和当前应用的index.jsp文件中是相同的。
但是当前项目的index.jsp中的<%@page import=...>
会相应更改以适应更改的目录结构。
Context c = new InitialContext();
personBeanRemote bean= (personBeanRemote) c.lookup("java:global/SimplePagingWithAjaxJson-ejb/personBean!beans.personBeanRemote");
int x = bean.getCount();
之前的应用程序正在运行,但当前的Maven应用程序却没有。对两个应用程序使用NetBeans IDE 6.9。
注意:EJB应用程序完好无损。