在编写JNDIDemo的时候两条System.out.println()语句未在console上输出,没有报错
package JNDI;
import javax.naming.*;
import java.util.Properties;
public class JndiDemo {
public static void main(String[] args) {
Context ctx=null;
//设定JNDI命名和目录服务管理器的相关属性
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContestFactory");
p.put(Context.PROVIDER_URL,"jnp: //localhost:1099");
try
{
//初始化JNDI上下文
ctx = new InitialContext(p);
String sName = "jndi test";
//解除名字name上的对象绑定
ctx.unbind(sName);
//将名字name绑定为字符串JNDI Test
ctx.bind(sName, "JNDI Test");
String s =(String)ctx.lookup(sName);
System.out.println(sName+"bind: "+s);
ctx.rebind(sName, "Welcome");
s = (String)ctx.lookup(sName);
System.out.println(sName+"rebind: "+s);
}
catch(NamingException e)
{
e.printStackTrace();
}
}
}
在ctx = new InitialContext(p);语句前的System.out.println可以输出内容;
两条System.out.println()可以在console上输出结果
提醒16行就报错了呀,前边还么到你打印的地方就报错了,后边就不会打印了啊
这么多红字你说没有报错,你是要等它爆炸给你看吗
很明显执行到try的时候报错进入catch了
InitialContext报错,断点跟,慢慢查吧
报错说class not found。你class引入要么写错了,要么包没导入