2017-03-15 105 views
0

我有一個使用在服務器中運行的JBOSS服務器託管的swing應用程序。在我的筆記本電腦中,我下載了該遠程應用程序的JNLP併成功啓動。我也可以通過點擊按鈕等與應用程序進行交互。訪問應用程序時出現javax.naming.NoInitialContextException

現在我正在使用一個名爲Marathon的API,它是Selenium webdriver的一個包裝,只是它用於測試擺動應用程序。現在,如果我使用這個Marathon API啓動JNLP文件,它就可以正常啓動。問題是,當我通過它的驅動器上使用此API馬拉松的login按鈕點擊我看到異常

7286  ERROR [AWT-EventQueue-1]: Root cause: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial 
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial 
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) 
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) 
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source) 
    at javax.naming.InitialContext.lookup(Unknown Source) 

在通過馬拉松賽開始,如果我手動點擊login按鈕,它工作正常,在同一會話thew以下。只有當我嘗試使用Marathon API以編程方式點擊按鈕時,問題纔會出現。

我甚至試過路過

profile.addWSArgument("-J-Djavax.net.ssl.trustStore=C:/Users/xxx/Downloads/ssl.keystore"); 
profile.addWSArgument("-J-Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory"); 
profile.addWSArgument("-J-Djava.naming.provider.url=10.66.87.0:7001"); 

沒有什麼工作。任何想法發生了什麼?

回答

0

你有沒有設置你的背景下,試試這個

System.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
System.setProperty("java.naming.provider.url", "localhost:<port>"); 

或地方jndi.properties是項目的根目錄。

相關問題