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

Langage Java Discussion :

Utilisation de Class.forName sur des Class non fournis par java


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 50
    Points : 38
    Points
    38
    Par défaut Utilisation de Class.forName sur des Class non fournis par java
    bonjour,

    J'aimerai utiliser
    Class.forName () pour eviter 50 if....
    Le probleme, c'est que j'utilise sur mes propres classes.

    J'ai un bout de code qui me renvoie toujours une exceptio ClassNotFound en utilisant class.forname ()

    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
     
    Object o;
    Balise b = null;
     
    		System.out.println("I get this balise : " + localName);
    		try {
    			o = Class.forName (localName));
    			System.out.println(o.getClass().getName());
    			b = (Balise) o;
    		} catch (ClassNotFoundException e) {
    			b = new Unknown ();
    		}
     
    		b.begin (this.client.getBw(), atts);
    		this.stack.push(b);

    Pour une premiere utilisation je devrais instancier un object de type "Connection" (La faute d'orthographe m'est malheuresement imposee...)
    Dont voici un bout de la declaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Connection extends Balise
    Mon fichier est bien Connection.java ...

    Et enfin au lancement du programme... je recupre bien un string "Connection" mais je prend quand meme une exception CLassNotFound...

    Une idee ?
    Merci d'avance

    EDIT : les classes qui vont bien se trouvent dans le meme package, les packages sont tous declares correctement.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Moumoutte Voir le message
    EDIT : les classes qui vont bien se trouvent dans le meme package, les packages sont tous declares correctement.
    Class.forName() attend un nom de classe complet, c'est à dire package inclut, et ceci qu'il s'agissent d'une classe standard ou pas...

    a++

  3. #3
    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
    Citation Envoyé par Moumoutte Voir le message

    Pour une premiere utilisation je devrais instancier un object de type "Connection" (La faute d'orthographe m'est malheuresement imposee...)
    Quelle faute? C'est un mot anglais, connexion c'est français. Quand on code, généralement, on essaie d'utiliser des noms de méthode / classes en anglais. Sinon, pour ton problème, c'est clairement que tu a oublié le nom de package dans ton forName. Enfin, une bonne pratique dans le forum java, quand tu reçois un exception, poste le stacktrace complet de l'exception. Tu verra qu'on gagnera tous du temps à te répondre sur tes futurs problème

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,



    Class.forName() attend un nom de classe complet, c'est à dire package inclut, et ceci qu'il s'agissent d'une classe standard ou pas...

    a++
    Oui c'etait bien ca le probleme, merci bien

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

Discussions similaires

  1. [Framework] Probléme d'instanciation des classe dao et des classe service
    Par daly2009 dans le forum Spring
    Réponses: 1
    Dernier message: 03/11/2010, 14h19
  2. Réponses: 4
    Dernier message: 03/07/2009, 19h06
  3. Class.forName() sur nom de classe "court" ?
    Par Yannick_from_31 dans le forum Langage
    Réponses: 5
    Dernier message: 23/01/2008, 09h03
  4. [POO] Appels statiques sur des classes
    Par daajack dans le forum Langage
    Réponses: 2
    Dernier message: 07/12/2007, 15h47
  5. Utiliser des packages ou des classes présents sur le net
    Par lionrouge dans le forum Général Java
    Réponses: 2
    Dernier message: 27/09/2006, 06h09

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