2009-04-16 15 views
8

gdy próbuje wykonać mój plik jar uzyskać wyjątek:Gdzie jest klasa weblogic.jndi.WLInitialContextFactory?

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

to chyba jakieś brakujące biblioteki na ścieżce klasy. Czy ktoś może mi powiedzieć, który plik jar brakuje? Nie mogę znaleźć klasy weblogic.jndi.WLInitialContextFactory w dowolnym miejscu ...

Dzięki!

P.S .: Mam już słoik 10.0 dla weblogów.

Odpowiedz

10

Sprawdź swój serwer/lib/folder, aby znaleźć wliclient.jar.

Z Weblogic 12.1.3, można go znaleźć tutaj:
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

6

Krok 1:

idź do E:\weblogic81\user_projects\domains\mydomain. Następnie wpisz polecenie Setenv. Jak wynika

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

Krok 2:

Weblogic.jar plik jest potrzebne w aplikacji klienckiej. Może zawierać w następującej ścieżce E:\weblogic81\weblogic81\server\lib\weblogic.jar. więc ustaw ścieżkę klasy dla tego folderu lub skopiuj ten plik weblogic.jar do folderu aplikacji, aby plik weblogic.jar był dostępny dla twojej aplikacji.

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

Etap 3:

przechodzi do dziedziny folder poleceń, jak pokazano powyżej ustawić ścieżkę klasy. Aby nie przeszkadzać innym ścieżek dla klas ustawić ścieżkę klasy jako:

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

Tutaj (.) kropka reprezentuje ścieżkę klasy zestaw do aktualnego katalogu.

Krok 4:

Po ścieżce klasy zestaw wykonywania poleceń STARTWEBLOGIC następująco:

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

Krok 5:

Nie zalogować do serwera WebLogic Server. Jeśli jesteś już zalogowany, wyloguj się i napisz poniższy kod w myeclipse lub innym IDE.

Krok 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); 
     } 
    } 

} 

Krok 7:

wykonać powyższy kod i zalogować się do WebLogic i kliknij prawym przyciskiem myszy na myserver>view jndi tree> znaleźć związanego informacji obiektów.

2

Sprawdź następujący tag w Twojej build.xml

nazwa właściwość = wartość "WLS_HOME" = "$ {env.WLS_HOME}"

gdzie WLS_HOME = c: \ WebLogic \ WLS \ wlserver czy bieganie na windows Próbowałem uruchomić prosty program Hello world i rzucał

* run:

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

raz zmieniłem powyższy znacznik to w pliku build.xml działało dobrze

1

Wygląda na to, że robisz wyszukiwanie JNDI poza WLS.

Trzeba użyć wlfulclient.jar lub jeśli urządzenie posiada instalację WLS następnie dodać do projektu ścieżki klasy: WL_HOME/server/lib/weblogic.jar

0

w wersji 12c znajduje się w WebLogic-klas. jar w katalogu lib:

C: \ wls1213 \ wlserver \ server \ lib

0

wychodził ten sam problem i to już poprawione :)

Rozwiązaniem jest, aby przejść do serwera WebLogic i nawigacja do /Oracle/Middleware/wlserver_10.3/server/lib/ i exe sprytne polecenie poniżej.

polecenia: java -jar wljarbuilder.jar -profile wlfullclient5

Powyższe polecenie tworzy plik jar z wszystkimi słoiku jest wewnątrz serwera WebLogic/folderu lib i umieścić go w kliencie kodu Java ścieżki budowania Eclipse i craetes runnable Plik JAR i umieść ten plik wlfullclient5.jar również w folderze serwer/lib.

Mam nadzieję, że to pomoże! Uprzejmie daj mi znać, jeśli masz jakiekolwiek problemy.

0

Wystarczy dodać wlserver/server/lib/weblogic.jar. Testuję to.