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

Entrée/Sortie Java Discussion :

Lire un fichier properties


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut Lire un fichier properties
    Bonjour,

    J'ai fait un point jar et dans une de mes classe, j'appelle un fichier properties.
    Mon point jar dans le dossier lib de mon serveur et fichier properties dans le dossier ressource de mon application.
    Dans mon application, j'appel mon .jar et quand je lance mon application, sa me dit que cela ne trouve pas mon fichier properties
    Est-ce parce qu'il n'est pas n'est pas au même niveau au mon .jar?

    Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    et si tu nous postais le code de lecture du fichier properties ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ResourceBundle prop = ResourceBundle.getBundle("configuration");
    String value = prop.getString("maPropriete");

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    Ton fichier porte t'il bien le nom de configuration.properties ? et dans le jar se trouve t il à la racine ?
    Si tu répond non a une de ces deux questions c'est probablement de la que vient le problème !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Mon fichier porte bien le bom de configuration.properties
    Il ne se trouve pas dans le jar
    Le jar contient des classe que j'appelle dans plusieurs applications il est donc dans le lib de mon serveur et classes appel le fichier properties qui change selon l'application

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Citation Envoyé par totot Voir le message
    Le jar contient des classe que j'appelle dans plusieurs applications il est donc dans le lib de mon serveur et classes appel le fichier properties qui change selon l'application
    Le fait qu'il soit dans lib n'est pas suffisant, il faut qu'il soit dans le classpath... est ce le cas ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Comment je peut voir que mon projet à bien mis mon jar dans le classpath.
    Mon .jar est dans le dossier lib du serveur et non du projet

  8. #8
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Citation Envoyé par totot Voir le message
    Comment je peut voir que mon projet à bien mis mon jar dans le classpath.
    Mon .jar est dans le dossier lib du serveur et non du projet
    désolé il y a une petite confusion de ma part !

    Lorsque tu ecris ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResourceBundle prop = ResourceBundle.getBundle("configuration");
    cela signifie que tu souhaite charger un fichier "configuration.properties" qui se trouve à la racine dans ton classpath, or dans ton premier post, tu indiquais que le fichier se trouvait dans le répertoire ressource.
    Cependant si ton répertoire ressource n'est pas dans le classpath alors tu ne pourra pas charger le fichier de configuration.

    tu parle de projet et de répertoire lib, j'avoue que tous n'est pas claire pour moi !
    Pourrais tu faire une description global de la structure (répertoire) de ton application et de la façon dont tu l'exécute ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Donc j'ai un projet web, cela veut donc dire Tomcat. Mon .jar est dans le dossier de Tomcat et non dans le dossier lib du projet web.
    Mon dossier ressources est dans le dossier src du projet web

  10. #10
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Citation Envoyé par totot Voir le message
    Mon dossier ressources est dans le dossier src du projet web
    J'avoue que je me perd totalement dans tes explications, tu parles à la fois de tomecat, de src de projet web et de jar !

    normalement ton projet web doit être déployé dans tomecat sous la forme d'un war, c'est bien le cas ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    J'ai un fichier configuration.proportion qui se trouve dans un dossier ressources qui est dans un dossier sécurité et le tout dans l'application web
    L'application web est bien un war déployer sous tomcat

  12. #12
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Citation Envoyé par totot Voir le message
    J'ai un fichier configuration.proportion qui se trouve dans un dossier ressources qui est dans un dossier sécurité et le tout dans l'application web
    L'application web est bien un war déployer sous tomcat
    Donc normalement ton fichier de properties est bien déployer, tu le confirme ?
    Sauf que pour y accédé, s'il n'est pas à la racine dans le classpath il faut impérativement définir le chemin complet pour y

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResourceBundle prop = ResourceBundle.getBundle("mon/chemin/complet/configuration");
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Quand tu dit à la racine tu veux dire quoi comme endroit

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les racines du classpath pour une appli web c'est en gros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    soit WEB-INF/classes/
    soit WEB-INF/lib/machin.jar/ (la racine du jar donc)
    Donc, concrètement:

    dans ton projet, quel est le nom est la position exacte du fichier properties?
    Comment est construit ton war?
    Quel code exact tu utilise pour charger ce fichier?
    Quel résultat tu obtiens vs quel résultat tu escomptais?

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Voici le code pour appeler le fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResourceBundle prop = ResourceBundle.getBundle("configuration");
    Il me dit qui ne trouve pas le fichier
    Le fichier est dans WEB-INF/classes
    Mon war est générer via Eclipse

  16. #16
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Apres on peut revenir a la methode de chargement de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Properties props = new Properties();
    URL url = getClass().getResources("configuration.properties");
    if (url != null) {
        try (final InputStream input = url.openStream()) {
            props.load(input);
        }
    }
    Si l'URL est null c'est que le fichier n'est pas au bon endroit pour être résolu par le classloader, de manière similaire a ce qui peut bien se passer avec le ResourceBundle
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Normalement sa ce met ou un fichier de configuration.properties dans un projet web?

  18. #18
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Tu peux mettre ton fichier de configuration n'importe où. D'ailleurs pour une question d'exploitation il vaut mieux que ton fichier soit en dehors de ton war. En effet de cette façon si tu as besoin de modifier ta configuration tu n'es pas obligé de régénéré un war. Dans ton application tu load ton fichier comme indiquer dans les autres réponses, notamment celle de bouye.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par totot Voir le message
    J'ai un fichier configuration.proportion
    Rassure moi, le fichier est bien "configuration.properties", pas configuration.proportion ???

    Parce que, avec ton code, et si il a bien le bon nom (y compris majuscules/minuscules) ça devrais fonctionner.


    Ensuite, "ne trouve pas le fichier" n'est pas un message d'erreur standard, tu veux dire que tu reçois un "MissingResourceException" ? Tu peux nous donner la stacktrace complète?

  20. #20
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Oui c'est configuration.properties

Discussions similaires

  1. lire un fichier .properties à partir d'une servlet
    Par air75 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/06/2009, 15h00
  2. Bien lire un fichier properties
    Par metalcoyote dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/10/2007, 10h58
  3. [RCP] Lire un fichier properties
    Par ArchFolken dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 31/08/2007, 11h42
  4. Lire à un fichier properties
    Par babalastar dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/01/2007, 10h38
  5. [Struts] Lire un fichier properties situé ds WEB-INF
    Par tscoops dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/02/2005, 14h33

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