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 :

jar qui lance d'autres jar


Sujet :

Java

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut jar qui lance d'autres jar
    Bonjour,

    Voila mon soucis : j'ai un petit prog qui sert d'interface pour lancer d'autres progs (.jar).
    Mais je ne sais pas comment noter le chemin de ces progs pour les lancer, surtout si je souhaite garder une portabilite entre win et nux.


    J'ai regarde un peu IzInstaller et Launch4j (je suis sous netbeans), mais je n'ai pas trouve de solution avec cela.

    Si quelqu'un a une suggestion ?

    Merci d'avance,

    ANDRE Ani

  2. #2
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    Pour lancer un jar tu peux faire
    Runtime.getRuntime().exec("java -jar "nom du jar".jar");

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut
    Je me suis mal exprime.
    J'arrive a lancer d'autres jars, mais en donnant un chemin complet de ce jar. Je ne sais pas ou placer mon jar, ni comment noter son chemin dans le code, si je souhaite distribuer mon prog, et qu'il marche sous win ou nux.
    J'espere etre plus clair.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tes jars sont toujours placés au même endroit relativement au jar qui les lance ?
    Si oui, alors écrit le chemin relatif des jars pour le chemin portable utilise la constante File.separator.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String jar = ".." + File.separator + "lib" + File.separator + "monjar.jar"
    Tu peux aussi rendre configurable le chemin, dans un fichier properties par exemple, et avoir une version GNU/Linux, une Windows etc, le client doit choisir sa version lors de l'installation mais il peut ne pas vouloir éditer un fichier de conf. Tu peux toi packager pour GNU/Linux et pour Windows séparément, mais juste pour un fichier de conf, c'est dommage

    A plus
    Dernière modification par Invité ; 15/06/2009 à 13h14. Motif: autre solution ajoutée

  5. #5
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut
    Oui, mes jars seront tjs au meme endroit par rapport a l'executable de depart.
    Faire un properties juste pour les jars, pas top c sur.

    Je vais essayer votre technique avec le file separator.

    Merci beaucoup de l'aide, je vous tient au courant si cela marche ;-)

  6. #6
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    mets tous ces jars dans ton CLASSPATH (ou dans le champs Class-Path du manifest)
    dans le code d'aiguillage rien ne t'empêche de lancer ensuite une autre application par AutreClasse.main(arguments) ....
    mais tu peux aussi peut-être faire plus élégant sans amorcer tes applications secondaires par des Mains.
    Il est classique d'avoir un code d'aiguillage dans un jar qui ensuite aiguille (sans vraiment "lancer une autre application") vers d'autres parties principales d'une application (exemple de menu: "voulez vous faire: 1) une demande de voyage 2) une demande de congés, 3) une demande de remboursement de frais")

  7. #7
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut
    Je n'y arrive pas...
    J'ai un repertoire principal (dist), puis 2 repertoires au meme niveau, dans l'un (dist) le jar principal, dans l'autre (exec) mes autres jars.
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String fs = System.getProperty("file.separator");
    String jar1 = ".." + fs + "exec" + fs + "Capture.jar";
    Mais la rien ne se lance, j'ai rate quelque chose ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lostsoul Voir le message
    Je n'y arrive pas...
    J'ai un repertoire principal (dist), puis 2 repertoires au meme niveau, dans l'un (dist) le jar principal, dans l'autre (exec) mes autres jars.
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String fs = System.getProperty("file.separator");
    String jar1 = ".." + fs + "exec" + fs + "Capture.jar";
    Mais la rien ne se lance, j'ai rate quelque chose ?
    Comment lances tu ton jar principal ? Par double clic ? Si c'est le cas "." sera surement le home de l'utilisateur, donc ce n'est pas ce que tu veux. Tu peux récupérer le chemin du jar qui s'exécute ainsi : http://java.developpez.com/faq/java/...YSTEME_dir_jar

  9. #9
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut
    Il m'affiche null pour le path.

    Ca marche comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Runtime.getRuntime().exec("java -jar ./exec/VisImage.jar");
    Mais pas avec ce chemin ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String jar1 = "." + fs + "exec" + fs + "Capture.jar";

  10. #10
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Points : 185
    Points
    185
    Par défaut
    Je ne sais pas pourquoi ça ne marche pas avec les file.separator.
    Tant pis, je ferais une version win et une gnu/linux.

    Merci pour votre aide ;-)

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

Discussions similaires

  1. Créer un .jar qui inclut d'autres .jar
    Par Jean_Benoit dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 10/10/2011, 11h34
  2. Réponses: 4
    Dernier message: 11/06/2010, 08h57
  3. Réponses: 3
    Dernier message: 10/06/2010, 12h57
  4. Creation Jar avec main et autres Jar
    Par Hiro Nakamura dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 19/02/2008, 09h54
  5. [JAR] probleme d'exec de JAR faisant appel à un autre JAR
    Par guis14 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/01/2006, 10h19

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