在MEJB这本书的附录B(JNDI)中有一个简单的例子
package jndi.initctx;
import java.util.Properties;
/**
* Illustrates how to acquire a JNDI initial context
*/
public class InitCtx {
public static void main(String args[]) {
try {
Properties env = new Properties();
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
env.put(javax.naming.Context.PROVIDER_URL,"file:c:\");
javax.naming.Context ctx =new javax.naming.InitialContext(env);
System.out.println("Success!");
}
catch (javax.naming.NamingException e)
{
e.printStackTrace();
}
}
}
我从SUN下载了fscontext和javax.naming包,编译通过,但运行时,出现如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jndi/toolkit/chars/CharacterDecoder
at com.sun.jndi.fscontext.RefFSContextFactory.createContext(RefFSContextFactory.java:41)
at com.sun.jndi.fscontext.RefFSContextFactory.createContextAux(RefFSContextFactory.java:47)
at com.sun.jndi.fscontext.FSContextFactory.getInitialContext(FSContextFactory.java:49)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:242)
at javax.naming.InitialContext.init(InitialContext.java:218)
at javax.naming.InitialContext.(InitialContext.java:194)
at InitCtx.main(InitCtx.java:12)
望各位帮忙看看,指点一二,不胜感激
|
你没有下全吧,或者类路径不对!
我用的包是fscontext1_2beta3.zip
里面的内容有:
providerutil.jar
fscontext.jar
CharacterDecoder.class在providerutil.jar中,你看看,你的包中有没有这个文件