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.
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
É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.
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é
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
Ajouter wlserver/server/lib/weblogic.jar est suffisant. Je le teste.
dans la version 12c, il se trouve dans weblogic-classes.jar dans votre répertoire lib:
C:\wls1213\wlserver\server\lib
Il est emballé à l'intérieur du weblogic.jar sous votre serveur/lib.
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.