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 :

NullPointer dans méthode native (NativeMethodAccessorImpl)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut NullPointer dans méthode native (NativeMethodAccessorImpl)
    Bonjour à tous.

    Je suis confrontée à un problème de NullPointer dans une Méthode Native et je sèche un peu pour débbuger ce petit problème .

    L'erreur à lieu lors de l'appel d'une méthode via Method.invoke().

    l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Exception in thread "Thread-3" java.lang.NullPointerException
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at fr.alicante.openclinicamassimport.data.ImportAction.execute(ImportAction.java:109)
    	at fr.alicante.openclinicamassimport.data.RequestDescription.createAndExecuteHtmlRequestForDataLine(RequestDescription.java:83)
    	at fr.alicante.openclinicamassimport.core.ImportExecution.executeImport(ImportExecution.java:257)
    	at fr.alicante.openclinicamassimport.core.ImportExecution.run(ImportExecution.java:95)
    le code : (method et parameters sont de variables globales)
    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
     
     public String execute(Object... objs) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
           Object[] parametersArray = new Object[1 + objs.length];
           int index = 0;
            for(Object obj : objs) {
                parametersArray[index] = obj;
                index++;
            }
          parametersArray[objs.length] = parameters.toArray(new String[1]);
          for(Object o : parametersArray) 
          System.out.println(o);
          System.out.println(method);
          String ret = (String)method.invoke(null, parametersArray);
           return ret;
        }
    J'ai bien sure vérifier par les System.out que la méthode et les paramètres sont les bons.

    Une idée de ce qui pourrait provoquer le nullpointer ou de comment essayer de le savoir?

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Je ne suis pas un pro de la reflexion et l'erreur (si c'en est une) parait trop grosse pour ne pas avoir été vue mais est ce que c'est normal ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method.invoke(null, parametersArray);
    Pour moi, le premier parametre doit etre l'instance dont on veut invoquer la methode... Et ca expliquerait l'exception...

  3. #3
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Je ne suis pas un pro de la reflexion et l'erreur (si c'en est une) parait trop grosse pour ne pas avoir été vue mais est ce que c'est normal ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method.invoke(null, parametersArray);
    Pour moi, le premier parametre doit etre l'instance dont on veut invoquer la methode... Et ca expliquerait l'exception...

    C'est normal car la méthode est static (et j'invoque d'autre méthodes par ce même exécute et ça fonctionne)

    Edit : haha Merci c'était ça mon erreur ... j'avais oublié le petit static dans ma déclaration ... ... je vais aller me taper la tête contre un mur !! hwoarang -->

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

Discussions similaires

  1. Limite longueur Maximum dans méthode objetXmlHttpRequest.send(params) ?
    Par jmacdev dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2006, 18h00
  2. [JNI] Java ne trouve pas mes méthodes natives
    Par carotte31 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 14/06/2006, 21h47
  3. fonte inopérante dans méthode textout
    Par OutOfRange dans le forum Composants VCL
    Réponses: 12
    Dernier message: 18/02/2006, 13h42
  4. [Débutant(e)]valeur par défaut dans méthodes
    Par seiryujay dans le forum Langage
    Réponses: 3
    Dernier message: 13/07/2005, 12h02
  5. Réponses: 4
    Dernier message: 02/07/2004, 10h31

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