- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试创建一个 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/
我正在学习Managing database connections with JDBC由 IBM 出版。这是一些旧东西(2001)。他们正在使用 JNDI。当我尝试实现他们的代码时: try {
我是 EJB 的新手,我正在尝试从 InitialContext 中查找 EJB,一切正常,直到我更改了项目名称,现在它给了我这个异常: javax.naming.NoInitialContextEx
全部, 我正尝试在一些陈旧的 Java 代码(没有接口(interface)、没有抽象等)中做一些单元测试 这是一个使用 ServletContext 的 servlet(我假设它是由 Tomcat
我正在使用 jboss 在 java 爬虫中开发一个应用程序。我编写了以下代码: connectionFactoryLookupAddress = new String("jms/RemoteConn
我想在运行 Tomcat 和 Spring 4 的情况下进行简单的集成测试,注入(inject)一个 spring 组件并使用我现有的 Tomcat 数据源配置。我不想两次配置我的数据源。所有内容,包
我正在尝试为 Java SE 控制台应用程序设置 JNDI。 我有以下代码: public class FooMain { public static void main (String ar
当我尝试为 Junit 测试模拟以下方法(方法使用远程 EJB 调用业务逻辑)时,它给出 javax.naming.NoInitialContextException private void som
我在我的应用程序中使用 InitialContext 来查找远程 EJB。有一些外部系统会通知我一些事件,当发生这种情况时,我将此通知委托(delegate)给适当的远程 EJB。 我一直认为我应该为
我正在开发一个在 WebLogic 10 上运行的应用程序,当然还有 Java。 好吧,问题是我正在使用 oracle.jdbc.xa.client.OracleXADataSource 来管理事务,
我收到以下错误消息: javax.naming.NoInitialContextException: Need to specify class name in environment or syst
我有一些其他人编写的 Java 代码(早已不在,无法联系他们),在我正在调试的 JBoss 服务器上运行。它使用以下一行代码获取 javax.sql.DataSource: DataSource ds
尝试使用 Oracle WebLogic 12.1 从我的初始上下文中检索数据源对象时出现以下错误: "Problem creating dummy orb: org.omg.CORBA.COMM_F
我正在开发一个命令行客户端 (Java SE6),它现在需要与 Glassfish 2.1 服务器通信。建立这个连接的代码是 try { final InitialContext contex
在分布式客户端服务器应用程序中,我使用 java RMI 从客户端计算机调用服务器端方法。在服务器端使用 EJB,应用服务器是 Glassfish。我在服务器端有一个 SampleFacade 类,它
我在基于 Active Directory (Windows Server 2008 R2) 和 Java 实现正确的身份验证时遇到问题。 假定的流程是当帐户在 AD 中被禁用时(属性 → 帐户 →
我正在尝试创建一个 InitialContext,这样我就可以向 JNDI 请求一些企业 java bean。JBoss 运行良好,但是当我运行 java 代码时出现异常。 我正在运行 JBoss 7
Context context = new InitialContext(); dataSource = (DataSource) context.lookup("java:comp/env/jdbc
我在我的测试中使用 jmockit,我想测试一个类,直接使用 InitialContext。所以我有以下内容: public class MyClass { public void myMetho
我正在编写一个 Java Servlet 应用程序,该应用程序需要存在某些环境变量和 JNDI 定义。这些在 server.xml 文件中定义。使用默认值是不可能的。因此程序需要抛出运行时(未经检查的
OSGi 客户端尝试连接到 GF4。在 Maven 中,我添加了 gf-client-module 4。我看到 bundle glassfish-naming-4.0.jar 已安装。 所以在 Act
我是一名优秀的程序员,十分优秀!