访问应用程序时{javax.naming.NoInitialContextException

时间:2017-03-15 19:58:24

标签: java swing jboss

我有一个使用服务器中运行的JBOSS服务器托管的swing应用程序。在我的笔记本电脑中,我下载了该远程应用程序的JNLP并成功启动了它。我也可以通过点击按钮等与应用程序进行交互。

现在我使用名为Marathon的API,它是Selenium webdriver的包装,不过它用于测试swing应用程序。现在如果我使用这个Marathon API启动JNLP文件就可以了。问题是当我点击login按钮使用这个Marathon API通过它的驱动程序我看到了以下异常

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)

在Marathon启动的同一个会话中,如果我手动点击login按钮,它可以正常工作。只有当我尝试使用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");

没有任何作用。知道发生了什么吗?

1 个答案:

答案 0 :(得分:0)

您是否设置了上下文,试试这个

createjs.Tween.get(testImg)
  .set({alpha:0}) // Still requires an initial set
  .wait(2000)
  .to({alpha:1})
  .call(brute)
  .on("change", function(event) {
    // Every time the tween is updated, set the opacity
    testImg.style.opacity = testImg.alpha;
  });

或将jndi.properties放在您的项目根目录中。