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 :

Lancement de jar a partir d'un jar


Sujet :

Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Points : 131
    Points
    131
    Par défaut Lancement de jar a partir d'un jar
    Bonjour,

    Dans un programme java, je lance un autre programme java qui sous forme de jar dans mon classpath en appellant la méthode main de la classe de ce jar.

    Tout fonctionne bien excepté au moment ou l'utilisateur ferme le programme appelé car ce programme appelle System.exit(); a priori et cela ferme également mon programme qui a lancé ce programme !

    Meme en essayant dans un thread cela ne fonctionne pas, je ne sais pas si il y a une solution pour lancer le 2eme programme indépendamment du premier, dans une autre jvm ? Est ce possible ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben oui, dans une auter JVM, via un appel à Runtime.getRuntime().exec() et en lui passant le chemin de la jvm et tout ses paramètres.

    PS: pas de fonctionnalités standard pour retrouver l'endroit où se trouve la jvm, le plus simple étant de "supposer" que "java" est dans le PATH

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Points : 131
    Points
    131
    Par défaut
    D'ac, mais dans ce cas je suis obligé de connaitre l'emplacement exact du jar que je souhaite lancer ?

    Pour le java qui est utilisé je peux l'avoir dans les System.getProperties().

    En revanche pour l'emplacement exact d'un jar du classpath savez vous si je peux obtenir cette info ?

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par MrEddy Voir le message
    D'ac, mais dans ce cas je suis obligé de connaitre l'emplacement exact du jar que je souhaite lancer ?
    Ben ouais
    En revanche pour l'emplacement exact d'un jar du classpath savez vous si je peux obtenir cette info ?

    Merci
    Heu, ben tu dois déjà l'avoir cette info, puisque tu le charge actuellement à la main dans un classloader, si j'ai bien compris.

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Points : 131
    Points
    131
    Par défaut
    Avec ce code ca peut le trouver dynamiquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	public static String getProgrammeClassPath(String nom)
    	{
    		String classPath = System.getProperty("java.class.path");
    		String[] tab = classPath.split(";");
     
                              nom = nom.toLowerCase();
     
    		for ( String prog : tab )
    		{
    			if ( prog.toLowerCase().endsWith(nom) )
    				return prog;
    		}
    		return null;
    	}
    Merci

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

Discussions similaires

  1. web-service a partir d'un .jar avec axis
    Par ouedmouss dans le forum Services Web
    Réponses: 4
    Dernier message: 08/06/2007, 11h28
  2. Réponses: 1
    Dernier message: 06/04/2007, 21h28
  3. execution d'un jar a partir d'une jsf
    Par krikete dans le forum JSF
    Réponses: 6
    Dernier message: 06/02/2007, 20h56
  4. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  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, 09h19

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