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

Entrée/Sortie Java Discussion :

Lancer un programme java depuis un programme java [FAQ]


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut Lancer un programme java depuis un programme java
    Bonjour !
    Voila, j'ai un nouveau problème: je souhaite lancer depuis un programme principal un autre programme que j'avais dejà réalisé.

    J'ai regardé ici : http://ydisanto.developpez.com/tutoriels/j2se/runtime/
    mais je me demandais s'il n'y avait pas plus simple et surtout si cela fonctionnait quelque soit l'OS utilisé ?

    Merci par avance.
    @Bientôt !

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Salut,

    Citation Envoyé par TheBAT
    mais je me demandais s'il n'y avait pas plus simple

    Au plus simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClassePrincipaleDeTonAutreProg.main(null);
    tu remplace null par un tableau de String si il y a des paramètres à lui passer.

    Par contre, il faut voir si ça ne bloque pas le programme lanceur...
    Et je ne sais pas si c'est très très propre comme méthode...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    Cela fonctionne parfaitement, merci.
    Sais-tu si je peux faire la meme chose si l'application à lancer n'est pas dans le même repertoire que l'application qui lance ce programme ?

    En faisant un import je n'ai pas d'erreur à la compilation mais le programme ne se lance pas...

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Citation Envoyé par TheBAT
    Cela fonctionne parfaitement, merci.
    Sais-tu si je peux faire la meme chose si l'application à lancer n'est pas dans le même repertoire que l'application qui lance ce programme ?

    En faisant un import je n'ai pas d'erreur à la compilation mais le programme ne se lance pas...
    C'est pas un import qu'il faut faire... c'est rajouter le répertoire de la seconde application dans le classpath de la première.

    Un import, c'est pour préciser au compilateur dans quels packages trouver les classes que l'on utilise dans le code, et éviter de les taper à chaque fois qu'on utilise les classes (genre, un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javax.swing.JFrame;
    permet d'éviter de retaper:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.swing.JFrame maJFrame=new javax.swing.JFrame();
    et de taper à la place:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame maJFrame=new JFrame();
    ) mais ça ne dit pas à la machine virtuelle où trouver les fameux packages sur ton disque. Ca, c'est le rôle du classpath.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    d'après ce que j'ai pu lire et comprendre il faudrait modifier ma façon de lancer le programme en faisant par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java maClasseALancer -classpath ./RepDeMonProgrAIntergrer
    mais cela ne fonctionne toujours pas : lancement du programme mais pas du "sous-programme".

    Je ne veux pas modifier la variable CLASSPATH car je ne pourrais pas le faire sur toutes les machines avant de lancer mon applciation...

    ps: merci bien pour ton aide en tout cas !

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Citation Envoyé par TheBAT
    Je ne veux pas modifier la variable CLASSPATH car je ne pourrais pas le faire sur toutes les machines avant de lancer mon applciation...
    tu peux modifier le classpath en le passant en argument à la commande java au lancement de ton programme.

    Et si ça plante, c'est que ton classpath n'est pas bon. Et que normalement tu as un message d'erreur en prime...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Executer un programme RPG depuis une classe JAVA
    Par AnneCa dans le forum JDBC
    Réponses: 3
    Dernier message: 18/02/2018, 12h14
  2. lancer une fonction MATLAB depuis un code Java
    Par Gouasmi_moh dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 23/04/2011, 18h00
  3. Réponses: 3
    Dernier message: 17/01/2009, 20h47
  4. Lancer un script depuis un programme Java
    Par loulag07 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/05/2008, 14h51
  5. Lancer un programme c depuis java dans une console
    Par moise44 dans le forum Général Java
    Réponses: 5
    Dernier message: 04/04/2006, 20h04

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