2017-03-15 222 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是项目的根目录。

相关问题