IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs Discussion :

Need to specify class name in environment or system property,..


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Need to specify class name in environment or system property,..
    Bonjour,

    Je sais qu'il y à déjà eu pas mal de problème de ce genre mais je n'arrive pas à résoudre le mien donc je postule

    Alors voila j'ai un projet sous eclipse, j'utilise tomcat 5.0 et j'ai une BDD Oracle mais je n'arrive pas à effectuer la connection à ma BDD :/

    j'ai un fichier web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <resource-ref>
                <description>jdbc/admingbDS</description>
                <res-ref-name>jdbc/admingbDS</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
          </resource-ref>
    j'ai mon fichier context.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Resource auth="Container" description="jdbc/admingbDS" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="4" maxIdle="2"
          maxWait="5000" name="jdbc/admingbDS" password="****" type="javax.sql.DataSource"
          url="jdbc:oracle:thin:@****" username="****"/>
    mon fichier de connection pour les tests:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public static void main(String argv[]){
    		ConsoleAppender appender = (ConsoleAppender)  logger.getAppender("console"); 
    		logger.addAppender(appender);
    		logger.debug("message de débbugage");
    		logger.info("message info");
    		logger.warn("message warning");
    		logger.error("message erreur");
    		logger.fatal("message fatal");
    		if(connection == null) {
    			 try {
     
    				Context initialContext = new InitialContext();
    				Context envContext = (Context)initialContext.lookup("java:/comp/env");
    				DataSource dataSource = (DataSource) envContext.lookup("jdbc/admingbDS");
    				connection = dataSource.getConnection();
    			 } catch (NamingException exc){
    					System.err.println("\nErreur DataSource :\n" + exc.getMessage());
    			 } catch (SQLException exc) {
    				 System.err.println(" Erreur dans la connexion " + exc.getMessage());
    				 exc.printStackTrace();
    			 }
    		System.out.println("Base de données démarée.");
    		}
    	}
    et l'erreur qu'il me retourne >_< :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur DataSource :
    Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    Si vous avez une idée de l'erreur que je commet.
    Merci beaucoup

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    vous ne fournissez pas d'implémentation de JNDI ni de configuration ad-hoc à votre test. vous devez disposer d'une implémentation de JNDI (quand vous tournez dans tomcat, c'est lui qui la fournis) préciser quelle est elle a votre test. Pour les unit tests, personnellement, j'utilise la librairie "simplejndi" qui dispose de tout ce qui est nécessaire

    voilà une courte doc
    http://www.bouil.org/w/Cr%C3%A9ation...Unit-avec-JNDI

    Malheureusement le site du projet a été racheté par des squatteur du net, et il n'y a plus iren à y voir que des pseudo blogs servant à faire des liens vers des sites commerciaux qui n'ont rien a voir avec l'IT. Mais on trouve tout de même de la doc un peu partout et le binaire aussi, dont dans les repository maven :p

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Merci d'avoir répondu aussi vite

    J'ai essayé de comprendre mais comme c'est la première fois pour moi j'ai un peu de mal :/

    Alors j'ai créer un fichier jndi.properties et je l'ai mis dans le dossier src du projet web

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java.naming.factory.initial=org.osjava.sj.SimpleContextFactory
    org.osjava.sj.root=test/resources/simple-jndi/
    org.osjava.sj.delimiter=/
    org.osjava.sj.space=java:comp/env
    et j'ai télécharger l'API simple-jndi.jar que j'ai ajouté au projet

    maintenant l'erreur qu'il me trouve est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Exception in thread "main" java.lang.IllegalArgumentException: java.io.File parameter must be a directory. [test\resources\simple-jndi]
    	at org.osjava.sj.loader.JndiLoader.loadDirectory(JndiLoader.java:110)
    	at org.osjava.sj.loader.JndiLoader.loadDirectory(JndiLoader.java:104)
    	at org.osjava.sj.SimpleContext.<init>(SimpleContext.java:96)
    	at org.osjava.sj.SimpleContextFactory.getInitialContext(SimpleContextFactory.java:69)
    	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    	at javax.naming.InitialContext.init(InitialContext.java:223)
    	at javax.naming.InitialContext.<init>(InitialContext.java:175)
    	at com.accorhotels.pack.BaseDeDonnees.main(BaseDeDonnees.java:24)
    je suis un peu perdu je sens j'ai fais un peu n'importe quoi et mon ami google ne me dit pas grand chose sur cette erreur

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    re-bonjour

    Bon alors j'ai eu la réponse et cela fonctionne,

    apparement il n'était pas nécessaire de faire le fichier jndi.properties et d'utiliser l'api car c'est un projet web et c'était défini dans mon fichier context.xml enfin a ce que j'ai compris.
    apres j'ai eu une erreur de class loader avec le driver oracle
    Et la solution a mon problème est de mettre le fichier ojdbc5.jar dans le dossier common/lib de mon serveur tomcat et la ca marche !

    Bon le problème était un peu éparpillé et j'ai pas tout compris mais bon si mon post peut servir pour d'autre


    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2013, 18h41
  2. Réponses: 6
    Dernier message: 09/12/2010, 14h55
  3. [JNDI] javax.naming.NoInitialContextException: Need to specify class name
    Par j-mi-jim dans le forum Java EE
    Réponses: 1
    Dernier message: 30/01/2008, 10h34
  4. changer class name d'une fenetre mfc
    Par pingfr dans le forum MFC
    Réponses: 2
    Dernier message: 11/07/2005, 13h38
  5. Class Name
    Par socrate dans le forum MFC
    Réponses: 5
    Dernier message: 22/05/2005, 18h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo