2011-04-02 92 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提供。