gpt4 book ai didi

java - 无法使用 JBoss 服务器实例化 InitialContext

转载 作者:搜寻专家 更新时间:2023-11-01 01:02:12 25 4
gpt4 key购买 nike

我正在尝试创建一个 InitialContext,这样我就可以向 JNDI 请求一些企业 java bean。JBoss 运行良好,但是当我运行 java 代码时出现异常。

我正在运行 JBoss 7.1

这是我的代码:

public class Test {

public static void main(String[] args){
InitialContext ctx=getInitialContext();
Object ref=null;
try {
ref = ctx.lookup("ParamEJB/remote");
} catch (NamingException e) {
System.out.println("Lookup Failed");
e.printStackTrace();
}
Param stub=(Param)PortableRemoteObject.narrow(ref, Param.class);
int times=stub.getTimes();
for(int i=0;i<times;i++)
System.out.println(stub.getMessage());
}

public static InitialContext getInitialContext(){
Hashtable<String,String> h=new Hashtable<String,String>();
h.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
h.put("java.naming.provider.url","localhost");
try {
return new InitialContext(h);
} catch (NamingException e) {
System.out.println("Cannot generate InitialContext");
e.printStackTrace();
}
return null;
}
}

在我启动我的 JBoss 服务器后,我尝试运行 java 代码,但我得到了这个异常:

javax.naming.NoInitialContextException: Cannot instantiate class:     org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException:     org.jnp.interfaces.NamingContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at client.Test.getInitialContext(Test.java:32)
at client.Test.main(Test.java:13)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)

可能是什么问题?

最佳答案

我遇到了同样的问题,但我找到了解决方法。您所要做的就是将 jbossall-client.jar 库添加到客户端项目中,然后完成!!!您可以在客户端文件夹中找到该文件。例如 jboss-6.1.0.Final_GPT\client 我使用的是 Jboss 6.1.0 您也可以从此链接获得帮助 https://community.oracle.com/thread/1157701?start=0

希望对您有所帮助。

关于java - 无法使用 JBoss 服务器实例化 InitialContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20784480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com