望尘轩中一盏茶

统计

留言簿

友情链接

阅读排行榜

评论排行榜

在eclipse中访问weblogic10.0的JNDI Tree

        这几天一直在处理一个问题,就是在eclipse中来访问weblogic中的JNDI,安装了MyEclipse之后,配置MyEclipse的服务器如下:
启动Eclipse,选择“Window -> Preferences”菜单,展开MyEclipse下的Application Servers节点,点击 WebLogic 10.x,选中右边的 Enable 单选按钮,启用 WebLogic 服务器。配置如下:
①BEA home directory:D:\bea(WebLogic 安装在D:\bea目录中)
②WebLogic installation directory:D:\bea\wlserver_10.0
③Admin username:weblogic
④Admin password:weblogic
⑤Execution domain root:D:\bea\user_projects\domains\base_domain
⑥Execution server name:AdminServer
⑦Security policy file:D:\bea\wlserver_10.0\server\lib\weblogic.policy
⑧JAAS login configuration file:这里不用填,空着就可以了.
然后设置JDK,这里JDK并非一定要选用weblogic自带的JDK,因为weblogic自带的JDK的版本相对较早,如weblogic10.0版本的JDK是JDK1.5.6版本的,而现在用的是JDK6.1或JDK6.2.然后设置Classpath,在paths接点
的右面的prepend to classpath 加入weblogic.jar文件,如:D:\bea\wlserver_10.0\server\lib\weblogic.jar这样就
可以了.
        这样设置好环境变量之后,我在ECLIPSE中访问weblogic的JNDI时,出现了问题,程序的代码如下
            

1package javaee.test1;
2
3import javax.naming.*;
4import java.util.Properties;
5
6   public class JNDITest {
7   public static void main(String[] args) {
8      try {
9              Properties p = new Properties();
10            p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
11            p.put(Context.PROVIDER_URL,"t3://localhost:7001");
12            Context ctx = new InitialContext(p);
13            String test = "Hello WebLogic JNDI";
14            ctx.rebind("test",test);
15            String str = (String)ctx.looku("name");
16            System.out.println(str);
17          }
 
18          catch (NamingException e) {
19               e.printStackTrace();
20          }

21       }

22    }

运行时出现了如下问题:
javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
 at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
 at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
 at javax.naming.InitialContext.init(InitialContext.java:223)
 at javax.naming.InitialContext.<init>(InitialContext.java:197)
 at javaee.test1.JNDITest.main(JNDITest.java:22)
Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:242)
 at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
 at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
 ... 4 more

         从问题可以看出是找不到weblogic.jndi.WLInitialContextFactory类,开始我认为是classpath环境变量设置错误,但是用winrar打开weblogic.jar发现这个类的确在这个JAR包中,就不知道是什么原因了.到网上找了好久没有找到解决办法.今天起床再来看这个问题的时候,忽然想起老师以前讲过在netbeans中的项目中加入JAR包,于是在eclipse中找了一下,发现可以实现.具体步骤如下:在项目上点鼠标右键,选properties,然后选中左边的Java Build Path,选中右边的Libraries,选择Add External JARs,找到D:\bea\wlserver_10.0\server\lib\weblogic.jar,加入后点OK,就可以了.这时再运行上面的程序,就没有问题了.运行完成后,在weblogic的JNDI Tree里可以看到有一个接点是test,它的内容是"Hello WebLogic JNDI".

        在网上找了几天,都没有解决掉这个问题,今天终于解决了,实在是高兴.

posted on 2007-08-02 10:24 wzhongyu 阅读(3316) 评论(10)  编辑  收藏 所属分类: Java学习

评论

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2008-09-30 17:15 qqyy

太感激你了,弄了我好久,其它人说的都是废话,终于弄好了.....  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2008-11-09 12:15 183

太感激你了~~
谢谢你了·~!  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2009-03-05 11:49

太好了!!!  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree[未登录] 2009-03-27 16:22 哈哈

weblogic.jar 也太大了  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2009-07-21 15:29 戴忠德

很好,我还不知道要导什么包进去,weblogic里面有很多包,现在知道导weblogic.jar一个就行了,顶你,楼主!  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2009-07-29 17:42 游客

恩,终于把问题解决了。
  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2009-12-27 14:13 nolrj

很少顶别人的东西,博主,我是第一次真心有冲动回复!  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2010-12-14 15:25 2575

太感激你了~~
谢谢你了·~  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2012-04-02 09:04 请输入你的姓名

太感激你了,弄了我好久,其它人说的都是废话,终于弄好了....  回复  更多评论   

# re: 在eclipse中访问weblogic10.0的JNDI Tree 2012-04-02 09:04 请输入你的姓名

谢谢  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
我的便捷门:综合频道 数码频道 商城频道 电器频道 男人频道 女人频道 居家玩具 美容频道 饰品鞋包 食品频道 台湾馆频道