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 :

appeler un properties en dehors du jar


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 30
    Par défaut appeler un properties en dehors du jar
    bonjour, j'ai un petit problème avec mon appli java.
    J'utilise un jar qui appelle un fichier properties via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    File properties = new File("dbproperties.properties");
    		if (!properties.exists()) {
    			System.out.println("crap");
    			return false;
    		}
    		try {
    			FileInputStream in = new FileInputStream(properties);
    			_myProperties.load(in);
    		} catch (Exception e) {
    			e.printStackTrace();
    			return false;
    		} 
    		return true;
    quoi qu'il en soit, je n'arrive pas à atteindre mon fichier quand je lance l'appli via une ligne de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar  -classpath p:\javamail\lib\ p:\javamail\javamail.jar -cp dbproperties.properties
    ma question : comment "charger" un fichier properties qui n'est pas dans mon jar à partir de la ligne de commande (ou en modifiant mon code) ?

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par keguira
    quoi qu'il en soit, je n'arrive pas à atteindre mon fichier quand je lance l'appli via une ligne de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar  -classpath p:\javamail\lib\ p:\javamail\javamail.jar -cp dbproperties.properties
    Lorsqu'on utilise -jar les options -classpath ou -cp sont ignoré...
    Seul l'attribut Class-Path du manifest est utilisé !


    Citation Envoyé par keguira
    ma question : comment "charger" un fichier properties qui n'est pas dans mon jar à partir de la ligne de commande (ou en modifiant mon code) ?
    En utilisant un chemin correct vers ce nom de fichier, c'est à dire soit le chemin complet, soit le chemin relatif par rapport au répertoire courant...

    a++

  3. #3
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Citation Envoyé par keguira
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File properties = new File("dbproperties.properties");
    //...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar  -classpath p:\javamail\lib\ p:\javamail\javamail.jar -cp dbproperties.properties
    Je ne vois pas en quoi ton paramètre (au lancement) sert à quelque chose, si tu charges un certain nom de fichier en dur dans le code : essaye de voir du côté de la ici si jamais ton ".properties" se trouve dans ton <<classpath>> !


  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 913
    Billets dans le blog
    54
    Par défaut
    Sauf erreur de ma part : en utilisant le mecanisme de chargement via des ClassLoader l'URL retournee pointera vers le premier fichier rencontre avec le nom donne qui se trouve sur le CLASSPATH et ce qu'il soit inclus dans un JAR ou pas.
    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

  5. #5
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Admettons que ton fichier de conf soit dans un répertoire config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File properties = new File("./config/dbproperties.properties");
    Fonctionne très bien... Même en dehors du jar... Et pas besoin de l'appeler dans ta ligne de commande.

  6. #6
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 30
    Par défaut
    @sozie9372 : ça ne marche pas

    @g_rare : l'inputstream renvoyé est égal à null : il ne toruve pas le fichier ..

    Au détour d'une discussion j'avais entendu parlé de "sharedlibraries" mais impossible de trouver une référence nul part.

  7. #7
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Quel code tu utilises exactement ? Où se trouve ce fichier ?

    a++

Discussions similaires

  1. chargement d'un properties en dehors du jar
    Par eatherquake dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 17/08/2010, 15h36
  2. Ajout de ressources en dehor du JAR
    Par urubs dans le forum NetBeans
    Réponses: 1
    Dernier message: 23/07/2010, 19h11
  3. Appel de JComboBox en dehors de la classe de l'interface.
    Par scipionh dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 06/05/2009, 19h25
  4. Chemin vers un fichier en dehors du .jar
    Par NutellaPiou dans le forum Applets
    Réponses: 1
    Dernier message: 27/02/2009, 10h21
  5. ajout fichiers properties au lancement du jar
    Par Katachana dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2009, 18h35

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