首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NullPointerException in AppClient GF4

NullPointerException in AppClient GF4
EN

Stack Overflow用户
提问于 2014-02-01 10:46:08
回答 1查看 238关注 0票数 0

我正在开发一个应用程序客户机,它需要远程访问gf服务器上的bean。从阅读中,我认为我应该能够使用注入注释,但这对我来说是行不通的。然后,我转而使用InitialContext,查找我的bean的映射名称,但我也无法让它工作。我在这里看了几个线程,据我所知,应该包括我需要的所有jars,并且我已经将EJB添加到了我的appCLients路径中。无论是在Eclipse中还是通过单击“从服务器管理页面中启动”,这都是行不通的。

EJB项目中的My

代码语言:javascript
复制
/**
 * Session Bean implementation class MazeBean
 */
@Stateless(mappedName = "mazes")
@Remote
public class MazeBean
{

我试图访问的类(不是主类,我认为这就是为什么我不能使用注入)。

代码语言:javascript
复制
public class MazeBuilder
{
    private MazeBean mazeBean;  
    Maze maze;

    public MazeBuilder()
    {
        Context ctx;
        try
        {
            ctx = new InitialContext();
            mazeBean = (MazeBean)ctx.lookup("java:comp/env/mazes");
        } catch (NamingException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
        maze = mazeBean.getMaze(1); (line 31)
        mazeBean.regenerateMaze(maze);
    }

}

在Eclipse中运行时得到的异常

代码语言:javascript
复制
javax.naming.NamingException: Lookup failed for 'java:comp/env/mazes' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NameNotFoundException: No object bound for java:comp/env/mazes [Root exception is java.lang.NullPointerException]]
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491)
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)
    at javax.naming.InitialContext.lookup(InitialContext.java:411)
    at mazeBuilder.MazeBuilder.<init>(MazeBuilder.java:23)
    at Main.main(Main.java:16)
Caused by: javax.naming.NameNotFoundException: No object bound for java:comp/env/mazes [Root exception is java.lang.NullPointerException]
    at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:229)
    at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:471)
    ... 4 more
Caused by: java.lang.NullPointerException
    at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:159)
    ... 5 more
Exception in thread "main" java.lang.NullPointerException
    at mazeBuilder.MazeBuilder.<init>(MazeBuilder.java:31)
    at Main.main(Main.java:16)

现在它说没有那个名字的对象,所以我显然没有正确地设置这个。我的印象是注释是一种合法的定义方法,所以我的bean的mappedName属性应该允许我找到它。我还需要什么才能让这个豆子被发现?

日食开普勒,GF4,MySql 5.5.31,EclipseLink 2.5

我主要尝试了这两种方法,并得到了相同的异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-02 09:45:41

我现在已经解决了这个问题,谢谢Ajan,在我更正全局名称之后,它从glassfish库目录中添加了gf-client.jar和appserv-rt.jar。

我如何设置一个问题作为解决?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21497056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档