【问题标题】:Servlet exception deploying maven enterprise projectServlet异常部署maven企业项目
【发布时间】:2014-08-12 04:07:16
【问题描述】:

当我尝试访问名为 BookingServlet 的 servlet 时出现此错误

严重:捕获到异常 javax.naming.NamingException:在 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.NameNotFoundException: it.volaconnoi_VolaConNoi_webapp-ear_ear_1.0-SNAPSHOT]

这是截图

项目已正确部署,但我不明白为什么会出现此错误。你有什么建议吗?

如您所见,预订 servlet 已就位

编辑

BookingBeanInterface bookingBean = lookupBookingBeanLocal();


private BookingBeanInterface lookupBookingBeanLocal() {
        try {
            Context c = new InitialContext();
            return (BookingBeanInterface) c.lookup("java:global/it.volaconnoi_volaconnoi-webapp-ear_ear_1.0-SNAPSHOT/it.volaconnoi_volaconnoi-webapp-ejb_ejb_1.0-SNAPSHOT/BookingBean!it.volaconnoi.logic.BookingBeanInterface");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }

【问题讨论】:

  • 好的,我明白了这个问题,但我需要你的帮助来解决它......问题取决于我执行上面的代码来调用有状态的 ejb

标签: maven jakarta-ee servlets glassfish


【解决方案1】:

描述真的不够,你应该描述你的类BookingBean在哪里,以及它是通过什么方式在JNDI中注册的。但是,如果我们假设注册是正确的,您可以尝试使用以下字符串查找它:

c.lookup("java:app/BookingBean/it.volaconnoi.logic.BookingBeanInterface");

在此处查看更多描述:http://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html

【讨论】:

    猜你喜欢
    • 2014-03-09
    • 2014-05-27
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多