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

avec Java Discussion :

Lancer un jar depuis mon application


Sujet :

avec Java

  1. #1
    Membre habitué Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 130
    Points
    130
    Par défaut Lancer un jar depuis mon application
    Bonjour, je rencontre un problème pour lancer un jar depuis mon application Java , j'explique le contexte :

    Depuis mon application je cherche a lancer differentes applications soit depuis un jar soit depuis un bat (qui lui lance le jar). Pour ce faire je lance la commande java -jar ./prog/application.jar cependant quand je fait cela rien ne se passe.

    Après avoir fait afficher la commande dans la console il n'y a pas d'erreur

    d'où peut provenir l'erreur ?

    Merci a vous

  2. #2
    Membre habitué Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Petite précision si je lance le jar hors de mon application aucun problème

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 136
    Points
    136
    Par défaut
    Salut,

    Comme ça, là, difficile à dire...
    Un peu de code nous aiderait peut-être à t'aider.

    Mais à tout hasard, le problème n'est pas causé par la non lecture (ou fermeture) des flux du process. (voir ici)

  4. #4
    Membre habitué Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Ah oui un peu de code ne fait pas de mal je pense

    voici comment je lance mon appli

    lanceurExecutable = l'extension ( .jar / .exe / .sh / .bat )
    vCheminApplication = chemin de mon application
    nomApp = nom du fichier à lancer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    		if (lanceurExecutable != null && lanceurExecutable.equals(".jar")){
    			cmd = "java -jar " + vCheminApplication + nomApp +lanceurExecutable;;
     
    		}
    		else {
    // traitement des autres extensions 
    		}
     
    		try {
    			Runtime r = Runtime.getRuntime();
    			Process p = r.exec(cmd);
    		} catch (IOException e) {
    .....
    Je suis débutant dans le monde de java soyez gentil :p

    Dans la console eclipse j'obtiens : java -jar D:\workspace\Concept\applications\program1\lanceur.jar

  5. #5
    Membre habitué Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Ah j'ai un début de piste, si je lance l'application depuis la racine de mon projet ca marche, mais depuis un autre répertoire ca plante, une idée ?

    Commande fonctionnelle :

    java -jar lanceur.jar

    Commande qui plante :

    java -jar D:\workspace\Concept\applications\program1\lanceur.jar

    Je précise que le chemin est bon

  6. #6
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 577
    Points : 15 552
    Points
    15 552
    Par défaut
    Exécuter la commande en une ligne peut parfois poser problème sur la façon d'interpréter les espaces, il vaudrait mieux utiliser un tableau de paramètres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] cmd = {"java", "-jar", vCheminApplication + nomApp + lanceurExecutable}
    Ensuite si ton application a besoin d'être lancé dans un répertoire particulier, utilises:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    r.exec(cmd, null, repertoire);
    Enfin même si ca ne sembles pas un problème pour le moment penses a lire ou fermer les inputStream et errorStream de l'objet Process, car cela pourrait bloquer le programme lancé.

  7. #7
    Membre habitué Avatar de Jose.N70
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Eh ben écoutez merci à vous, mon application fonctionne correctement.

    Grand merci à Uther pour sa réponse , et à bigbear19 pour son lien sur un autre sujet.

    Le problème est réglé

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

Discussions similaires

  1. Lancer minecraft.jar depuis une application Java
    Par Yamuto dans le forum Général Java
    Réponses: 0
    Dernier message: 01/03/2013, 10h25
  2. Lancer un .jar depuis une application Air
    Par Jazys dans le forum Flex
    Réponses: 7
    Dernier message: 01/04/2010, 10h15
  3. Lancer un jar depuis mon programme
    Par jojodu31 dans le forum Langage
    Réponses: 5
    Dernier message: 02/07/2008, 15h49
  4. Réponses: 1
    Dernier message: 04/10/2006, 13h40
  5. Réponses: 3
    Dernier message: 29/10/2004, 13h54

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