这几天一直在处理一个问题,就是在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".
在网上找了几天,都没有解决掉这个问题,今天终于解决了,实在是高兴.
分享到:
相关推荐
网上有好多破解weblogic10的方法,我收集了一下,将破解weblogic10.0和破解weblogic9.0的方法都整理了一下!不一定是最好的!希望大家多提意见!
在Eclipse中使用WebLogic是一项常见的任务,尤其对于Java开发者来说,这有助于在集成开发环境中进行Web应用程序的部署和管理。WebLogic Server是Oracle公司提供的一个企业级Java应用服务器,它支持Java EE...
总的来说,"weblogic10.0 for aix 补丁"是解决WebLogic在AIX上启动后挂起问题的关键,它涉及到内存管理、线程问题、操作系统配置等多个方面。正确理解和应用这个补丁能有效提升WebLogic在AIX环境下的运行效率和稳定...
在Spring框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得应用程序能够更加灵活地管理与数据库的连接。本文将...
Weblogic12c(12.1.3)安装和eclipse下配置weblogic并发布项目
在Eclipse集成开发环境中配置WebLogic服务器是一项常见的任务,这对于Java EE应用的开发和测试至关重要。WebLogic Server是由Oracle公司提供的一个强大且广泛使用的Java应用服务器,它支持各种企业级服务,如JSP、...
为了在Eclipse中方便地开发、调试和管理运行在WebLogic上的应用,Eclipse提供了WebLogic插件。 WebLogic插件的安装方法如描述所述,首先需要将下载的WebLogic插件压缩包解压。这个压缩包通常包含了若干个.jar文件,...
在Eclipse中集成WebLogic服务器时,选择正确的JDK版本是非常关键的步骤,因为这直接影响到应用程序的编译、运行以及服务器的稳定性。本文将详细阐述这个过程中的知识点。 首先,JDK(Java Development Kit)是Java...
在 WebLogic 中,JNDI 用于管理数据源,这些数据源是应用程序用来访问数据库的连接池。当数据源的连接泄露,即应用程序未正确关闭数据库连接,会导致连接池耗尽,从而引发"No resources currently available in pool...
在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而WebLogic是Oracle公司提供的一个企业级应用服务器,常用于部署和管理Java EE应用程序。本文将深入探讨如何在Eclipse环境中配置WebLogic Server,以...
本合集专注于WebLogic Server 10.0.36在Windows和Linux 64位环境下的安装、问题解决及性能优化,以下是相关知识点的详细说明: 1. **WebLogic 10.0.36 安装** - **Windows安装**:首先下载WebLogic Server的安装包...
WebLogic 是一款功能强大的 Java 应用服务器,提供了强大的集成和管理功能,而 JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口,用于在 Java 应用程序中访问各种资源,例如数据库、...
NULL 博文链接:https://zzy603.iteye.com/blog/1039826
本课件将重点讲解如何在Eclipse集成开发环境中配置和使用WebLogic服务器进行JavaEE应用的开发与部署。 首先,我们要理解Eclipse作为IDE的重要性。Eclipse是一款强大的开源Java开发工具,它支持多种插件,可以方便地...
在Eclipse中搭建WebLogic服务器是一项常见的开发任务,主要用于创建和管理Java EE应用程序。WebLogic是Oracle公司提供的一个企业级应用服务器,它提供了一个运行Java应用程序和服务的平台。以下是搭建WebLogic服务器...
将WebLogic与Eclipse整合,可以方便开发者在Eclipse中进行WebLogic应用的开发、部署和管理,提高开发效率。本文将详细介绍如何配置WebLogic-Eclipse插件。 首先,确保你已经安装了Eclipse IDE和WebLogic Server。...
在Java Web开发中,WebLogic Server扮演着核心角色,提供了一个平台来运行和管理基于Java EE(Java Enterprise Edition)的应用程序。这个补丁的发布,意味着用户需要及时安装以保持系统安全,防止可能的攻击和漏洞...
本文主要讲述了如何在Eclipse Luna中集成WebLogic服务器进行开发环境的搭建以及项目的部署。Eclipse是一款广泛使用的Java集成开发环境(IDE),而WebLogic是Oracle公司的一款企业级应用服务器,常用于部署Java EE...