1

在发生此异常之前,我有两个项目

分页 -> 一个使用 EJB 的简单 struts2 Web 应用程序

简单的 PagingWithAjaxJSON-ejb -> 上述项目引用的 EJB 应用程序。

一切都按预期工作。

之后我决定在我的应用程序中使用 Maven。我根据 Web 应用程序的 Maven 目录结构更改了第一个应用程序(分页)。所以我只需要更改源代码中的包导入。

之前(在分页应用程序中)

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 文件中是相同的。

但是<%@page import=...>在当前项目的 index.jsp 中会相应地更改以适应更改的目录结构。

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 应用程序是完整的。

4

0 回答 0