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

Java Discussion :

Prb avec ClassLoader


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Par défaut Prb avec ClassLoader
    Bonjour.

    je veux réaliser un prg qui compile des .java et qui affiche la liste des méthodes de la classe compiler.

    Au début pour charger la class je faisai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aEtudier = Class.forName(name);
    mais si la classe changai entre 2 compile ca ne prenais pas en compte les changements.
    Aprés un tour dans la faq j'ai donc creer une classe LoaderClass
    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
    public class LoaderClass extends ClassLoader 
    { 
    	public LoaderClass()
    	{}
     
      public Class loadNewClass(String aName) throws Exception 
      { 
        InputStream is = getClass().getResourceAsStream("/" + aName); 
        if (null == is) 
        { 
          return null; 
        } 
     
        byte buffer[] = new byte[is.available()]; 
        is.read(buffer); 
        Class c = defineClass(aName, buffer, 0, buffer.length); 
        resolveClass(c); 
        return c; 
      } 
    }
    Le prb c'est qu'en chargeant la classe de cette façon j'ai une erreur de NullPointerException lorsque j'appel la méthode getConstructors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    aEtudier = loader.loadNewClass(name);
    aEtudier.getConstructors();

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Dans ton code, tu offres la possibilité d'un retour null.

    Vérifie ton chargement de ressources l'emplacement des classes : si rien n'est trouvé, il n'y a pas d'exception. C'est un peu ennuyeux, mais bon... l'erreur doit certainement venir de là.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Par défaut
    effectivement ca renvoyait bien null, il manquait le .class dans le nom du fichier.

    merciii

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

Discussions similaires

  1. prb avec une requete
    Par gregal dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/03/2005, 11h59
  2. prb avec un treeview et data
    Par mikyfpc dans le forum C++Builder
    Réponses: 7
    Dernier message: 14/12/2004, 22h59
  3. [Débutant] Jframe/JInternalFrame: prb avec JScrollPane
    Par flzox dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 12/12/2004, 00h08
  4. prb avec dbimage
    Par hrezzaz dans le forum Bases de données
    Réponses: 1
    Dernier message: 27/10/2004, 14h41
  5. [TOMCAT] prb avec le cache de certains users
    Par osmoze dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/06/2004, 15h21

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