import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.io.*;
import java.util.Hashtable;
public class QueueSend
{
public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
public static void main(String[] args) throws Exception {
if (args.length != 1) {
System.out.println("Usage: java examples.jms.queue.QueueSend WebLogicURL");
return;
}
InitialContext ic = getInitialContext(args[0]);
}
private static InitialContext getInitialContext(String url) throws NamingException
{
System.out.println("url is "+url);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
return new InitialContext(env);
}
}
javac -cp wlthint3Client.jar QueueSend.java
创造 QueueSend.class
java -cp wlthint3Client.jar QueueSend t3://localhost:7001
说
Exception in thread "main" javax.naming.NoInitialContextException: Cannot
instantiate class: weblogic.jndi.WLInitialContextFactory [Root exc
tion is
java.lang.ClassNotFoundException:weblogic.jndi.WLInitialContextFactory]
然后我检查了jar文件
javap -cp wlthint3client.jar weblogic.jndi.WLInitialContextFactory
表明
Compiled from "WLInitialContextFactory.java"
public class weblogic.jndi.WLInitialContextFactory implements
javax.naming.spi.InitialContextFactory {
public weblogic.jndi.WLInitialContextFactory();
public final javax.naming.Context
getInitialContext(java.util.Hashtable) throws
javax.naming.NamingException;
}
我该如何解决这个错误?
将当前目录添加到运行时类路径
java -cp wlthint3Client.jar;. QueueSend t3://localhost:7001
java
-cp
使用该标志时不包括当前路径,因此需要显式添加
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句