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 :

Classpath et exécution jar via raccourcis


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 35
    Par défaut Classpath et exécution jar via raccourcis
    Bonsoir,

    Je viens de créer un installer pour une application écrite en java, et je viens de me rendre compte que lorsque je lance mon application par le biais du raccourcis, l'application ne trouve pas les fichiers qui se trouvent normalement au même niveau d'arborescence que mon .jar (à savoir des dossiers contenant mes fichiers de langue, de préférences ...).

    Je suppose que mon problème vient du fait que je lis mes fichiers à partir de leur chemin relatif dans mon code, de ce fait, je pense que mon problème pourrait être résolu en touchant au classpath, cependant je ne sais pas comment m'y prendre.

    J'utilise netbeans comme EDI, quelqu'un pourrait il m'indiquer la marche à suivre s'il s'agit bien d'un problème de classpath ?

    Je tiens à préciser que je ne tiens pas à inclure ces fichiers dans mon jar, mais à les conserver séparés du jar.

    Merci d'avance !

  2. #2
    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 : 45
    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 nuts62 Voir le message
    Je suppose que mon problème vient du fait que je lis mes fichiers à partir de leur chemin relatif dans mon code
    Sans voir le code, difficile à dire. Je crois plutot que vous lisez le fichiers à partir du "répertoire" courant, qui peux valoir tout et n'importe quoi en production.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 35
    Par défaut
    Je vais tenter d'éclaircir mon problème.

    Depusi mon application, je lis des fichiers par l'intermédiaire de chemins relatifs. J'ai donc une arborescence du style

    monJar.jar
    pref.xml
    langue /
    fr /
    [mes divers fichiers de langue]
    en
    [mes divers fichiers de langue]


    Quand j'exécute mon application en cliquant directement sur le jar, je ne rencontre aucun problème car il trouve les fichiers grâce au chemin relatif, mais une fois que je crée un raccourcis vers mon .jar et que je le place dans un répertoire différent de celui du jar, les chemins relatifs ne fonctionne plus, car la JVM doit prendre en compte le chemin vers le raccourcis et non le chemin vers je .jar

    Je pense donc qu'il s'agit d'un problème de classpath, et si c'est le cas j'aurai aimé savoir comment m'y prendre depuis Netbeans. Je rappelle également que la solution d'inclure ces fichiers dans le jar ne me convient pas, car je veux qu'ils restent accessibles à l'utilisateur.

    Merci d'avance !

  4. #4
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Salut,

    Si l'OS est windows, en faisant clic droit sur le raccourci puis propriétés, il y a une option "demarrer dans". Il faut y mettre le chemin ou se trouve le .jar.

    Par exemple si le .jar est dans c:\monRep\monJar.jar, il faut mettre c:\monRep.

    a+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 35
    Par défaut
    En effet je crois que je vais opter pour cette option qui fonctionne à merveille =) Cependant si jamais quelqu'un peut m'éclaircir au niveau du classpath s'il existait une méthode pour régler le problème je ne dis pas non !

    Encore merci

  6. #6
    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 : 45
    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
    le classpath n'a rien à voir dans l'histoire. Puisque vous passez par un installeur, le plus propre est de demander à l'installeur de mettre un fichier .bat dont la première commande est cd <repertoire d'installation> suivi de java -jar MonJar.jar.

    Et d'utiliser ce .bat pour lancer l'application.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/03/2012, 11h46
  2. Exécuter un jar via la crontab sur Ubuntu
    Par stc074 dans le forum Général Java
    Réponses: 3
    Dernier message: 09/01/2012, 16h38
  3. comment exécuter un jar via un fichier .bat quotidiennement?
    Par adnaneyagami dans le forum Général Java
    Réponses: 5
    Dernier message: 04/10/2009, 07h34
  4. Problème de connexion à la base MYSQL via l'exécutable .JAR
    Par sam45 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 12/09/2008, 14h48
  5. Réponses: 2
    Dernier message: 25/06/2007, 10h05

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