web-dev-qa-db-fra.com

Où est la classe weblogic.jndi.WLInitialContextFactory?

en essayant d'exécuter mon fichier jar, je reçois une exception:

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

Je suppose que c'est une sorte de bibliothèque manquante sur le classpath. Quelqu'un peut-il me dire quel fichier jar est manquant? Je ne trouve pas la classe weblogic.jndi.WLInitialContextFactory nulle part ...

Merci!

P.S .: J'ai déjà jar weblogic 10.0 inclus.

11
blackicecube

Vérifiez votre dossier serveur/lib/pour trouver wliclient.jar.

Avec Weblogic 12.1.3, vous pouvez le trouver ici:
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

13
Nuno Furtado

Étape 1:

Allez à E:\weblogic81\user_projects\domains\mydomain. Ensuite, tapez la commande Setenv. Comme suit

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

Étape 2:

Le fichier Weblogic.jar est requis par votre application client. Il peut contenir dans le chemin suivant E:\weblogic81\weblogic81\server\lib\weblogic.jar. donc définissez le chemin d'accès aux classes pour ce dossier ou copiez ce fichier weblogic.jar dans votre dossier d'application afin que le fichier weblogic.jar soit d'abord disponible pour votre application.

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

Étape 3:

Accédez au dossier de domaine à l'invite de commande comme indiqué ci-dessus et définissez le chemin d'accès aux classes. Pour ne pas perturber les autres chemins d'accès aux classes, définissez chemin d'accès aux classes comme suit:

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

Ici (.), le point représente le chemin de classe défini dans le répertoire en cours.

Étape 4:

Après le chemin d'accès aux classes, exécutez la commande STARTWEBLOGIC comme suit:

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

Étape 5:

Ne vous connectez pas au serveur weblogic. Si vous êtes déjà connecté, déconnectez-vous et écrivez le code suivant dans myeclipse ou dans un autre IDE.

Étape 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);
        }
    }

}

Étape 7:

Exécutez le code ci-dessus et connectez-vous à weblogic et faites un clic droit sur myserver>view jndi tree> pour trouver les informations relatives aux objets liés.

6
jagan

Vérifiez la balise suivante dans votre build.xml

property name = "WLS_HOME" value = "$ {env.WLS_HOME}"

où WLS_HOME = c:\weblogic\wls\wlserver si vous utilisez Windows , j'ai continué à essayer de lancer un simple programme Hello World et à lancer

*courir:

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

une fois que j'ai changé la balise mentionnée ci-dessus dans le build.xml cela a bien fonctionné

2
nick

il semble que vous fassiez une recherche JNDI en dehors de WLS. 

Vous devez utiliser wlfulclient.jar ou, si votre ordinateur dispose d’une installation WLS, ajouter à votre projet de chemin de classe: WL_HOME/server/lib/weblogic.jar 

1
Ali Shiravand

Ajouter wlserver/server/lib/weblogic.jar est suffisant. Je le teste.

1
Yang

dans la version 12c, il se trouve dans weblogic-classes.jar dans votre répertoire lib:

C:\wls1213\wlserver\server\lib

0
Igor Zelaya

Il est emballé à l'intérieur du weblogic.jar sous votre serveur/lib.

0
gregwhitaker

J'ai rencontré le même problème et il est corrigé maintenant :)

Le correctif consiste à accéder au serveur WebLogic et à accéder à /Oracle/Middleware/wlserver_10.3/server/lib/ et à exécuter la commande ci-dessous.

Commande: Java -jar wljarbuilder.jar -profile wlfullclient5

La commande ci-dessus crée un fichier jar avec tous les fichiers jar du dossier serveur/lib de WebLogic et placez-le dans le chemin de génération de code Java de votre client, Eclipse et le fichier JAR exécutable, puis placez ce fichier wlfullclient5.jar dans le dossier server/lib.

J'espère que cela t'aides! Veuillez me faire savoir si vous avez des problèmes.

0
Karthik Pon