类weblogic.jndi.WLInitialContextFactory在哪里?

时间:2009-04-16 13:05:36

标签: jar weblogic jndi

当我尝试执行我的jar文件时,我得到一个例外:

javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory 
[Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]

我想这是类路径上某种丢失的库。 谁能告诉我哪个jar文件丢失了?我无法在任何地方找到weblogic.jndi.WLInitialContextFactory类......

谢谢!

P.S。:我已经包含了weblogic 10.0 jar。

10 个答案:

答案 0 :(得分:13)

检查您的server / lib /文件夹以查找wliclient.jar。

使用Weblogic 12.1.3,您可以在此处找到它:
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

答案 1 :(得分:6)

第1步:

转到E:\weblogic81\user_projects\domains\mydomain。然后键入Setenv命令。如下

E:\weblogic81\user_projects\domains\mydomain>setenv 

第2步:

客户端应用程序需要

Weblogic.jar文件。它可能包含在以下路径E:\weblogic81\weblogic81\server\lib\weblogic.jar中。所以设置此文件夹的类路径或将此weblogic.jar文件复制到您的应用程序文件夹中,以便首先为您的应用程序提供weblogic.jar文件。

E:\weblogic81\user_projects\domains\mydomain>set CLASSPATH=%CLASSPATH%;E:\weblogic81\weblogic81\server\lib;.

第3步:

如上所示,在命令提示符下转到domain文件夹并设置classpath。 为了不打扰其他类路径,将classpath设置为:

set CLASSPATH=%CLASSPATH%;E:\weblogic81\weblogic81\server\lib;.

此处(.)dot表示到当前目录的set classpath。

第4步:

在类路径设置后运行命令STARTWEBLOGIC,如下所示:

E:\weblogic81\user_projects\domains\mydomain>STARTWEBLOGIC 

第5步:

不要登录weblogic服务器。如果您已经登录,只需注销并在myeclipse或其他IDE中编写以下代码。

第6步:

package directory.service;
import java.util.*;
import weblogic.jndi.*;
import java.io.FileInputStream;
import javax.naming.*;
public class GetInitContext {

    /**
     * @param args
     */

    public static void main(String[] args) {


        try{
        weblogic.jndi.Environment env=new weblogic.jndi.Environment();
    weblogic.jndi.Environment environment = new weblogic.jndi.Environment();
        environment.setInitialContextFactory(
          weblogic.jndi.Environment.DEFAULT_INITIAL_CONTEXT_FACTORY);
        env.setProviderUrl("t3://localhost:7001");
        env.setSecurityPrincipal("agni");
        env.setSecurityCredentials("agnidevam");
        Context context=env.getInitialContext();
        System.out.println("got the initial context for weblogic server---> "+context);
        context.createSubcontext("sone");
        context.bind("agni one",new Integer(10));
        context.createSubcontext("sone/sctwo");
        context.bind("agni two",new Integer(20));
        context.createSubcontext("sone/sctwo/scthree");
        context.bind("agni three",new Integer(30));
        System.out.println("subcontex object created please check in admin server for more details");

        }
        catch(Exception e){
            System.out.println("file inputstream exception  ---> "+e);
        }
    }

}

第7步:

执行上述代码并登录weblogic并右键单击myserver>view jndi tree>,找到绑定对象信息。

答案 2 :(得分:2)

检查build.xml中的以下标记

property name =“WLS_HOME”value =“$ {env.WLS_HOME}”

如果在Windows上运行,则WLS_HOME = c:\ weblogic \ wls \ wlserver 我一直试图运行一个简单的hello world程序并且它一直在抛出

*运行:

 [echo] Executing client class  
 [java] javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]*

一旦我在build.xml中更改了上面提到的标记,它就可以正常工作

答案 3 :(得分:1)

它看起来你正在WLS之外进行JNDI查找。

您需要使用wlfulclient.jar,或者如果您的计算机安装了WLS,则添加到您的类路径项目:WL_HOME / server / lib / weblogic.jar

答案 4 :(得分:1)

我遇到了同样的问题,现在已经修好了:)

修复是,转到WebLogic服务器并导航到/Oracle/Middleware/wlserver_10.3/server/lib/并执行以下命令。

命令:java -jar wljarbuilder.jar -profile wlfullclient5

上面的命令创建一个jar文件,其中包含WebLogic server / lib文件夹中的所有jar文件,并将其放在客户端java代码构建路径Eclipse中,并将可运行的JAR文件压缩,并将此wlfullclient5.jar文件放在server / lib文件夹中

希望这有帮助!如果您有任何问题,请告诉我。

答案 5 :(得分:1)

添加wlserver / server / lib / weblogic.jar就足够了。我测试一下。

答案 6 :(得分:0)

它打包在您的server / lib下的weblogic.jar中。

答案 7 :(得分:0)

在版本12c中,它位于lib目录中的weblogic-classes.jar中:

C:\ wls1213 \ wlserver的\服务器\ lib中

答案 8 :(得分:0)

对于WLS 12.2,其中WL_HOME是WebLogic安装的BEA主目录

(因为默认WL_HOMEMiddleware\Oracle_Home\wlserver

%WL_HOME%\server\lib\wlclient.jar
%WL_HOME%\server\lib\wls-api.jar 
%WL_HOME%\server\lib\wls-api-part.jar 
%WL_HOME%\server\lib\wlthint3client.jar 

所有这些库都包含:jar: weblogic\jndi\WLInitialContextFactory.class

请参阅WLS文档:https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlprg/overview.html#GUID-FC14CC53-DE49-456F-B54C-D73CC6DBF818

答案 9 :(得分:0)

我已经遇到了这里提到的问题,并且设法解决了WL_HOME环境变量。

在我的情况下,wlserver_10.3文件夹已移动到另一个驱动器(从DE),执行磁盘“迁移”的那个人忘记更改{ {1}}

通过修复PATH\TO\Oracle\Middleware\wlserver_10.3\common\bin路径,我能够在WebLogic上部署wlserver_10.3