13

jar ファイルを実行しようとすると、例外が発生します。

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

これは、クラスパスに欠落しているある種のライブラリだと思います。どのjarファイルが欠落しているか教えてもらえますか? クラス weblogic.jndi.WLInitialContextFactory がどこにも見つかりません...

ありがとう!

PS: 既に weblogic 10.0 jar が含まれています。

4

10 に答える 10

14

server/lib/ フォルダーを調べて、wliclient.jar を見つけます。

Weblogic 12.1.3 では、次の場所にあります。
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

于 2009-04-28T09:46:42.707 に答える
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:

上記のようにコマンド プロンプトでドメイン フォルダーに移動し、クラスパスを設定します。他のクラスパスを邪魔しないようにするには、クラスパスを次のように設定します。

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

ここで ( .) ドットは、クラスパスを現在のディレクトリに設定することを表します。

ステップ 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>と、バインドされたオブジェクトの情報が表示されます。

于 2011-07-03T14:05:45.893 に答える
2

wlserver/server/lib/weblogic.jar を追加するだけで十分です。私はそれをテストします。

于 2016-05-05T07:29:50.450 に答える
2

WLS の外部で JNDI ルックアップを行っているようです。

wlfulclient.jar を使用するか、マシンに WLS がインストールされている場合は、クラスパス プロジェクトに追加する必要があります: WL_HOME/server/lib/weblogic.jar

于 2014-03-03T09:07:04.673 に答える
2

私は同じ問題に直面しましたが、現在は修正されています:)

修正は、WebLogic サーバーに移動して /Oracle/Middleware/wlserver_10.3/server/lib/ に移動し、以下のコマンドを実行することです。

コマンド: java -jar wljarbuilder.jar -profile wlfullclient5

上記のコマンドは、すべての jar を含む jar ファイルを WebLogic サーバーの /lib フォルダー内に作成し、それをクライアントの Java コード ビルド パス Eclipse に配置し、実行可能な JAR ファイルを作成し、この wlfullclient5.jar ファイルを server/lib フォルダーにも配置します。

お役に立てれば!何か問題がありましたらお知らせください。

于 2016-02-26T22:36:45.450 に答える
2

build.xml で次のタグを確認してください

プロパティ名="WLS_HOME" 値="${env.WLS_HOME}"

where WLS_HOME=c:\weblogic\wls\wlserver Windows で実行している場合、単純な 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で変更すると、正常に機能しました

于 2011-09-08T15:00:46.170 に答える
0

これは、server/libの下のweblogic.jar内にパッケージ化されています。

于 2010-08-07T00:29:30.017 に答える
0

バージョン 12c では、lib ディレクトリの weblogic-classes.jar にあります。

C:\wls1213\wlserver\server\lib

于 2015-04-28T15:53:57.243 に答える
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 のドキュメントを参照してください。

于 2020-03-17T15:56:24.213 に答える