Где находится класс weblogic.jndi.WLInitialContextFactory? - PullRequest
11 голосов
/ 16 апреля 2009

при попытке выполнить мой 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 .: У меня уже есть 10,0 банок weblogic.

Ответы [ 8 ]

13 голосов
/ 28 апреля 2009

Проверьте ваш сервер / lib / папку, чтобы найти wliclient.jar.

С Weblogic 12.1.3 вы можете найти его здесь:
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

6 голосов
/ 03 июля 2011

Шаг 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. поэтому установите classpath для этой папки или скопируйте этот файл weblogic.jar в папку приложения, чтобы файл weblogic.jar был доступен вашему приложению в первую очередь.

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

Шаг 3:

Перейдите в папку домена в командной строке, как показано выше, и установите classpath. Чтобы не беспокоить другие пути к классам, установите classpath как:

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

Здесь (.) точка представляет установленный путь к классу для текущего каталога.

Шаг 4:

После установки classpath выполните команду 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 голосов
/ 08 сентября 2011

Проверьте следующий тег в build.xml

имя свойства = "WLS_HOME" значение = "$ {env.WLS_HOME}"

где 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, он работал нормально

1 голос
/ 05 мая 2016

Достаточно добавить wlserver / server / lib / weblogic.jar. Я проверяю это.

1 голос
/ 27 февраля 2016

Я столкнулся с той же проблемой, и теперь она исправлена:)

Исправлено следующее: перейти на сервер WebLogic, перейти к /Oracle/Middleware/wlserver_10.3/server/lib/ и выполнить приведенную ниже команду.

Команда: java -jar wljarbuilder.jar -profile wlfullclient5

Приведенная выше команда создает файл jar со всеми внутренними файлами jar в папке WebLogic server / lib и помещает его в путь сборки Java-кода клиента. Создает Eclipse и создает исполняемый файл JAR, а также помещает этот файл wlfullclient5.jar в папку server / lib .

Надеюсь, это поможет! Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы.

1 голос
/ 03 марта 2014

похоже, вы выполняете поиск JNDI вне WLS.

Вам необходимо использовать wlfulclient.jar или, если на вашем компьютере установлена ​​WLS, добавьте в ваш проект classpath: WL_HOME / server / lib / weblogic.jar

0 голосов
/ 28 апреля 2015

в версии 12c он находится в weblogic-classes.jar в вашем каталоге lib:

C: \ wls1213 \ wlserver \ сервер \ Lib

0 голосов
/ 07 августа 2010

Он упакован внутри weblogic.jar под вашим сервером / lib.

...