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 :

Exécution Java avec Runtime


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Par défaut Exécution Java avec Runtime
    Bonjour,

    dans mon programme, j'ai besoin d'exécuter un autre fichier Java, j'utilise donc pour cela la classe Runtime.
    Mon souci est que le Runtime n'exécute pas le programme et rien ne se passe.

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    String[] cmd = {"java", "..\\PraxisEMF2Prolog\\bin\\UML21ToPrologV6", umlModel, "fileTest.pl", "http://adaptor"};
     
    Runtime r = Runtime.getRuntime();
    Process p;
    try {
                p = r.exec(cmd);
                //p.waitFor();
    } catch (Exception e) {
    	// TODO Auto-generated catch block
    	e.printStackTrace();
    }
    UML21ToPrologV6 est le fichier .class que je veux exécuter et umlModel, fileTest.pl et http://adaptor sont les arguments à passer dans la fonction main.

    Je ne suis pas tout à fait sûr de la syntaxe de la commande, peut-être l'erreur vient-elle de là ?
    Lorsque je mets un chemin qui n'existe pas pour le .class, aucune erreur n'est générée...

  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 : 46
    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
    1) regarde ce que çà donne quant tu tappe à la main ,exactement cette commande depuis le même folder que celui ou tu est dans ton application
    2) utiliser le InputStream et le ErrorStream du process pour récupérer les messages dus à l'exécution.

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Une petite recherche sur le forum t'aurait surement redirigé vers ces pages :



    a++

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Par défaut
    Merci pour vos réponses !

    J'avoue que je n'ai pas pensé à chercher plus loin sur le forum, comme je suis déjà depuis une bonne matinée sur ce problème

    Je vais jeter un oeil à ces tutoriels.

    Tchize --> Quand je lance l'exécution de la même commande depuis le terminal, cela se passe bien.

  5. #5
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Et sinon, ce serait pas plus simple d'appeler directement la méthode main de la classe à lancer dans la classe en cours plutôt que de lancer Java via un Runtime.exec()?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UML21ToPrologV6.main(new String[]{umlModel, "fileTest.pl", "http://adaptor"});
    Bon, ça lancerait dans le même thread mais au pire y'a moyen de faire ça dans un thread différent si besoin.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Par défaut
    Oui, on oublie parfois d'aller au plus simple !!

    Merci pour ton aide deadpool, cette fois le programme tourne bel et bien

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

Discussions similaires

  1. Création d'exécutable java avec utilisation de la base de données MYSQL
    Par Parfait007 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 09/06/2012, 20h59
  2. exécuter un progamme java avec talend
    Par walach dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 16/09/2009, 00h41
  3. Exécution report avec Java
    Par Carrel dans le forum SDK
    Réponses: 0
    Dernier message: 04/06/2008, 08h39
  4. JAVA: arguments avec runtime ne marche pas
    Par aweqqas dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/08/2007, 19h17
  5. [Système] Exécuter une commande java avec exec()
    Par kenny49 dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 09h29

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