我开发了一个java se客户端,它在glassfish服务器v3上调用一些会话bean。我像这样连接到bean远程接口。
context = new InitialContext();
em = (ICrudService) context.lookup("java:global/BackITServer/CrudServiceImpl");
从eclipse(构建路径上的gf-client)中可以正常工作。当我将项目导出为可运行的jar并使用
在控制台上调用它时java -jar BackItClient.jar
我收到NoInitialContextException。
javax.naming.NoInitialContextException: Need to specify class name
in enviroment or system property, or as an applet parameter, or in an application resource file
MMMM。我非常感谢一些帮助。
谢谢
问候马塞尔
PS:我真的需要将gf-client引用的所有罐子装到我的罐子里吗?
答案 0 :(得分:0)
行
当我在glassfish的modules目录中执行以下操作时,它可以工作:
java -cp gf-client.jar;c:/users/marcel/desktop/backITClient.jar gui.MainController
BUT
如果我向上移动一个目录并执行以下操作:
java -cp /modules/gf-client.jar;c:/users/marcel/desktop/backITClient.jar gui.MainController
我再次收到NoInitialContextException
此外,客户端中的所有相对路径都不再起作用(i18n xml文件/图片),因为它在模块目录中查找。 ???
我知道应该“首先学习交易,然后下载IDE”,不过我希望有人能给我一个提示。
由于
马塞尔
答案 1 :(得分:0)
好的,我解决了。我不得不重新安装glassfish。它是在程序文件目录中,java不喜欢的文件夹。
java -cp c:/glassfishv3/glassfish/modules/gf-client.jar;backITClient.jar gui.MainController
问候
马塞尔