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

JWS Java Discussion :

Properties et jnlp


Sujet :

JWS Java

  1. #1
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut Properties et jnlp
    Bonjour,
    Bien que le titre vous semble deja traité mais la réponse n'y est pas.
    J'ai un fichier path.properties d'une ligne
    src = C:\\Documents and Settings\alijava\\Bureau
    cette ressource est exploité grace a la classe java.util.Properties.
    Cette resource se toruve dans la racine de mon projet.
    tout fonctionne jusqu'au jour ou je veux essayé de faire le deploiment en JWS, je n'arrive plus à acceder a cette resource sauf dans le cas ou je double clique sur le jnlp et que la resource se trouve dans le meme repertoire que ce dernier.
    En revanche sur une autre machine NIET ça ne fonctionne incapable de trouver/charger le path.properties.
    1- ceci est mon premier probleme que je n'ai pas pu resoudre malheuresement.
    est ce que le tag <property key=XXX value=XXX/> resoudera mon souci ? si oui pk quand je le rajoute ça marche ? sinon avez vous d'autre solution
    2- Comment puis je personalisé le src en mettant une variable pour le meme je vise que Vindows pour que ça marche toujours au bureau de l'utilisateur distant $user ou je c pas quoi sinon c pt etre %HOMEPATH)
    avez-vous des idees ?
    please Help
    merci
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

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

    Comment tu ouvres ce fichiers properties ?
    Où se trouve-t-il lorsque tu déploies via JNLP ?

    Citation Envoyé par AliJava Voir le message
    1- ceci est mon premier probleme que je n'ai pas pu resoudre malheuresement.
    est ce que le tag <property key=XXX value=XXX/> resoudera mon souci ? si oui pk quand je le rajoute ça marche ? sinon avez vous d'autre solution
    Si je ne me trompe pas <property> sert à définir une propriété système, accessible via System.getProperty()...

    Citation Envoyé par AliJava Voir le message
    2- Comment puis je personalisé le src en mettant une variable pour le meme je vise que Vindows pour que ça marche toujours au bureau de l'utilisateur distant $user ou je c pas quoi sinon c pt etre %HOMEPATH)
    Je n'ai pas compris la question...


    a++

  3. #3
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Bjr,
    à priori avec le tag <property..> je n'ai reussi a le faire enfin si mais que pour le log4j alors que les autres .properties ne s'ouvre tjr pas et voici comment je procede dans le code :
    Property.load(new FileInputStream("path.properties");
    et en ce moment le .properties se trouve dans la jar
    maintenant je vais essayer sans le tag <property ...> apres je v essayé de sortir les .properties et les mettre dans le meme rep que le jnlp.
    Merci de votre aide.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par AliJava Voir le message
    alors que les autres .properties ne s'ouvre tjr pas et voici comment je procede dans le code :
    Property.load(new FileInputStream("path.properties");
    et en ce moment le .properties se trouve dans la jar
    Ce code permet de charger un fichier sur le système local... c'est tout à fait normal qu'il ne charge pas un fichier properties contenu à l'intérieur du jar...

    Comment charger une ressource présente dans le CLASSPATH (répertoire ou jar) ?

    a++

  5. #5
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Bjr,
    voici la classe carement qui me permet de charger les .properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Classe qui charge les option du morpion
    public class LoadProp extends Properties {
    	public LoadProp() {
    		super();
    		try {
    			this.load(new FileInputStream("pathname.properties"));
    		} catch (IOException e) {
    			System.out.println("Load properties error");
    		}
    	}
    }
    le .properties se trouve à la racine de mon projet.
    mais je n'ai pas compris comment je peux changer ça pour que ça fonctionne avec le jnlp j'ai essayé de remplacer
    this.load(new FileInputStream("pathname.properties"));
    par
    this.load(getClass().getResourceAsStream("pathname.properties"));
    mais tjr rien desole c des erreurs de bleu je sais mais bon ça fait qu'un mois que j'y suis à la mode java :p
    merci encore de votre aide.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  6. #6
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    ah oui une question :
    pourquoi quand je fais un double clique sur le jnlp ça fonctionne correctement ?
    alors que si j lance avec tomcate ça marche pas ?
    merci beaaaaaaaaauuucoup
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  7. #7
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Déjà tu devrais fermer ton flux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    InputStream in = new FileInputStream("pathname.properties");
    try {
        this.load(in);
    } finally {
        in.close();
    }
    Deuxièmement getResourceAsStream("pathname.properties") utilise un chemin relatif par rapport au package de la classe depuis laquelle il est appelé.

    Donc comme c'est indiqué dans la FAQ si tu veux un fichier à la racine tu dois spécifier le chemin complet (qui commence donc par un /) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    InputStream in = getClass().getResourceAsStream("/pathname.properties")
    try {
        this.load(in);
    } finally {
        in.close();
    }
    a++

  8. #8
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Bjr,
    merci pour les corrections et bien j'ai reussi à le faire marcher en mettant le fichier properties dans src (sous eclipse)
    La classe que j'utilise et celle que tu m'as modifié (je te remercie bcp d'aillleurs)
    et l'appel que je fais est :
    new LoadProp().getProperty("key")); --> un chemin vers un fichier
    mon but c'est de pouvoir utiliser un fichier properties independament du code:
    c'est a dire que le .properties se trouvera dans le meme repertoire que le jnlp et le jar et le code se trouvant dans le jar doit pouvoir acceder a ce dernier.
    donc,
    Comment pouvoir acceder a ce fichier puisque j'ai presque suivi tout ce que vous me dites et tjr rien (les autres tuto disent la meme chose)
    voici ma classe Lodaer :
    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
     
    //Classe qui charge les option du morpion
    public class LoadProp extends Properties {
    	public LoadProp() throws IOException {
    		super();
    		InputStream in = getClass().getResourceAsStream("/pathname.properties");
    		try {
    		    this.load(in);
    		} catch (IOException e) {
    			System.out.println("Load properties error");
    		}finally {
    		    in.close();
    		}
    	}
    }
    et voici comment "j'exploite" la classe :
    File repoption = new File(new LoadProp().getProperty("option_dir");
    et bien evidement dans le jar je met pas le .properties mais je le met dans le meme repertoire que le jar et le jnlp.
    Je trouve que c'est un peu comoliqué ce que je veux faire.
    ya pas d'autres moyens plus simple ?
    2eme question :
    pourquoi sous eclipse quand je mets le slash il cherche dans le rep src ? moi je veux qu'il soit a la racine du projet donc je le met a la racine et je change le chemin en ../pathname.properties mais tjr rien :s
    c'est un peu bizare la logique eclipse !!!??!!
    Merci à toi adiGuba et à ceux qui lisent le topic aussi :p.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  9. #9
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par AliJava Voir le message
    et en ce moment le .properties se trouve dans la jar
    Citation Envoyé par AliJava Voir le message
    c'est a dire que le .properties se trouvera dans le meme repertoire que le jnlp et le jar et le code se trouvant dans le jar doit pouvoir acceder a ce dernier.
    Il faudrait que tu saches où tu veux mettre ton fichier properties... car si tu le change d'emplacement toutes les deux minutes c'est sûr que cela ne marchera jamais !


    Donc :
    1. Tu décides de l'emplacement de ton fichier properties
    2. Tu ouvre ce fichier selon son emplacement (fichier simple, ressource dans un jar, autres...)





    Citation Envoyé par AliJava Voir le message
    pourquoi sous eclipse quand je mets le slash il cherche dans le rep src ? moi je veux qu'il soit a la racine du projet donc je le met a la racine et je change le chemin en ../pathname.properties mais tjr rien :s
    c'est un peu bizare la logique eclipse !!!??!!
    Non, c'est exactement ce que fait getResource()... Ca va chercher le fichier là où tu le dit. Au sens de Java les ressources sont situé dans le CLASSPATH, et tout ce qui se trouve dans les sources fait partie du CLASSPATH d'eclipse...


    a++

  10. #10
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    1- le .properties je veux qu'il soit la ou ya le jnlp et le jar

    si j'ai bien compris il est possible de définir une fois pour toute l'emplcement de ce fichier meme pour eclipse et apres pour le deploiment parceque mon but c'est de ne pas changer de code source a chaque fois
    exemple :
    C:\tomCat\webapps\example\Moprion\pathname.properties
    comme ça à tout jamais le fichier sera charger a partir de cet emplacement tout le temps.

    desole meme moi je suis un peu perdu lol et c'est bientot fini les vacances mdrr donc il me reste moi de temps pour le faire.

    je v essayé cela et je vous tiens au courant.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  11. #11
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par AliJava Voir le message
    1- le .properties je veux qu'il soit la ou ya le jnlp et le jar
    Dans ce cas l'emplacement du fichier change et donc il n'y a pas de moyen unique de le lire.

    • En local cela correspondra à l'ouverture d'un fichier.
    • A distance (via Java Web Start) il faudra faire un accès distant.



    a+++

  12. #12
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Merci bcp, je savais que ct pas aussi simple ce que je veux faire bon c'est pas grave.
    merci beauuuuuuuuuucoup en tt cas mais bon si kelkun passe par la avec une solution plus simple je suis preneur.
    aa++
    merci adiGuba
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  13. #13
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    bonjour,
    J'ai cherché un peu partout apparament il faut soit ajouter le repertoire au CLASSPATH du jnlp soit mettre le tout dans un jar.
    je ne veux pas de la 2eme parceque cela ne permet pas d'avoir le fichier properties a part.
    donc j'ai pensé a mettre le properties dans le jnlp:
    <property name="pathname.properties" value="http://ip:8080/examples/Moprion/conf/pathname.properties"/>

    mais malheuresement cela n'a pas ete utile pour moi
    pt etre que je fais une erreur surtout sur l'attribut name enfin j'ai un doute
    mais en gros il faut dire au jnlp la ou il va chercher le .propereties
    any ideas ?
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

Discussions similaires

  1. jnlp et fichier .properties
    Par ThePhenom dans le forum JWS
    Réponses: 9
    Dernier message: 04/01/2008, 09h18
  2. [Kylix] PB property published?
    Par le_barbu dans le forum EDI
    Réponses: 2
    Dernier message: 23/12/2003, 20h01
  3. [struts] utiliser plusieurs fichiers properties
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/10/2003, 17h02
  4. Published property d'un compo conservées pendant l'exécution
    Par bobby-b dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/09/2003, 10h15
  5. [warning][properties]problème de police introuvable
    Par cyrdec dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/04/2003, 17h41

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