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 :

Properties Null PointerException


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut Properties Null PointerException
    Bonjour,

    Tout d'abord voilà ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class properties implements I_properties {
        private Properties  parametres;
     
        public void properties() throws FileNotFoundException, IOException{
            parametres = new Properties();
            FileInputStream in = new FileInputStream("jcerbere.properties");
            parametres.load(in);
            in.close();
        }    
     
        public String getParametres(String code){
            //affectation des valeurs par défaut configuré dans le properties
            return parametres.getProperty("parametreOracle.connexion.adresse");        
        }
    Lorsque j'appelle getParameters, j'ai une NullPointerException sur return parametres.getProperty(...); Quelqu'un voit-il pourquoi?

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par Goupo Voir le message
    Quelqu'un voit-il pourquoi?
    ben parametres est null. Tu n'as pas d'exception quand tu fais ton new properties () ?

    soit dit en passant, le nom des classes "doit", par convention, commencer par une Majuscule ...

  3. #3
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Non, pas d'exception pour new properties();

    Citation Envoyé par in Voir le message
    soit dit en passant, le nom des classes "doit", par convention, commencer par une Majuscule ...
    Je sais bien mais je suis pas auteur de cette classe.

  4. #4
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    A propos, voici un court extrait de mon fichier jcerbere.properties :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bd.outil.outype_traitement = MAJ/C
    bd.profil_utilisateur.pu_date_fin = 01/01/00 
    bd.profil_utilisateur.pudelegation = N

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, c'est étrange, il n'y a pas de raison que parametre soit null...du moins à première vue...ce serait plutôt la méthode getParametres qui renvoit null et l'exception se situe après. (parametreOracle.connexion.adresse n'est pas trouvé dans le fichier)
    Essait d'ajouter des traces pour vraiment vérifier (ou utilise un debugger) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public String getParametres(String code){
            String result = null;
            if(parametres == null) {
                System.out.println("parametres null");
            }
            else {
                result = parametres.getProperty("parametreOracle.connexion.adresse");
                if(result == null) 
                    System.out.println("result null");
            }
            return result;        
        }

  6. #6
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Les traces indiquent que parametres est null... !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    parametres null 
    parametres null 
    parametres null
    A propos de mon extrait qui sert à rien voilà la ligne qui concerne la property :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     parametreOracle.connexion.adresse = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=***)(PROTOCOL=***)(Host=***)(Port=***))(ADDRESS=(COMMUNITY=***)(PROTOCOL=***)(Host=***)(Port=***)))(CONNECT_DATA=(SID=***)))

  7. #7
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Fait voir la portion de code où tu crées ton objet properties ...

    D'ailleurs, il sert à quoi le paramètre "code" de getParametres ? Elle est bizarre cette méthode ...

    sinon, petite question (je ne me souviens plus de la réponse ), t'es sûr que tu peux mettre des espaces avant et après le signe = dans le fichier properties ? [EDIT] oui a priori on peut ...

  8. #8
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Goupo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     return parametres.getProperty("parametreOracle.connexion.adress
    L'extrait ne mentionne nulle part cette propriété.
    Soit l'extrait sert a rien soit tu ne l'a pas definie, donc il est normal que tu ne la trouve pas et donc renvoie "null" en retour de methode getProperty.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2010, 16h09
  2. tmysqloutput Null PointerException
    Par Elise49 dans le forum Développement de jobs
    Réponses: 17
    Dernier message: 08/05/2009, 22h12
  3. authentification + Null PointerException
    Par pipo7610 dans le forum JSF
    Réponses: 3
    Dernier message: 08/09/2008, 12h26
  4. [hibernate] many-to-one not-null property
    Par chtiboss dans le forum Hibernate
    Réponses: 2
    Dernier message: 10/07/2007, 10h16
  5. error setting property in bean of type null
    Par ouedmouss dans le forum JSF
    Réponses: 8
    Dernier message: 23/01/2007, 12h52

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