2011-04-02 50 views
0

我已经在Glassfish上创建了一个Java EE应用程序,并且它已被成功部署和运行。 但是,当我尝试使用junit来测试应用程序客户端模块时,它说 javax.naming.NoInitialContextException:需要在环境或系统属性中,或者作为applet参数或在应用程序资源文件中指定类名称:java。 naming.factory.initial 我试着用很多方法:Junit测试Java EE应用程序客户端

Hashtable env=new Hashtable(); 
env.put("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory"); 
Context c = new InitialContext(env); 
Object remote = c.lookup("java:comp/env/BookStore"); 

,它说斜面找不到类com.sun.enterprise.naming.SerialInitContextFactory

我正在寻找这个问题的2天,但我没有希望:( 在此先感谢

回答

1

我不得不假设你看到了Glassfish的EJB FAQ。它回答了人们关于如何将应用程序连接到Glassfish的众多问题。

你也没有提及你使用的是哪个版本的GF,这可能很重要,因为他们使用不同的罐子等。

+0

我正在使用glassfish 3.当我将J2EE应用程序设置为主项目并使用F6运行它时。没关系。但是,我想要运行Junit测试包。它说不能找到jndi。这很明显,因为它可能忽略了部署应用程序的一些步骤。但我不知道如何解决它来运行junit – 2011-04-02 04:22:20

0

请确保包含com.sun.enterprise.naming.SerialInitContextFactory的jar文件位于您的类路径中。该罐由Glassfish提供。