Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mise en attente d'un process

    5 novembre 2008 à 8:49:04

    Bonjour à tous,

    J'ai une application JAVA qui effectue plusieurs taches dont une qui est l'éxecution d'un .bat (seul moyen trouvé pour lancer un script ANT). Le probléme et que mon application n'attend pas que l'éxecution du .bat soit terminée avnt de passer à la suite.
    J'aimerais donc savoir qi quelqu'un poiuvait m'expliquer comment faire cela :)

    Voilà un code d'exemple où j'aimerais que le "Hello Boys" ne s'affiche qu'une fois l'execution du bat terminée.
    Je pensais que le child.waitFor() servait à cela mais qu'il soit présent ou non cela ne change rien.
    import java.util.*; 
    import java.io.*; 
    
    class ExecutionBat extends Thread { 
    	public static void main(String[] args) {
            try {
       
            	String[] command = { "cmd.exe", "/C", "Start ant -buildfile", "../dossier/bin/build.xml" ,"compil" };
            	Process child = Runtime.getRuntime().exec(command);
            	child.waitFor();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
            System.out.println("Hello Boys");
        }
    }
    


    Merci beaucoup!
    • Partager sur Facebook
    • Partager sur Twitter
      5 novembre 2008 à 10:30:25

      Je ne suis pas sûr de ce que je vais avancer mais à mon avis le problème n'est pas la méthode waitFor qui fait en principe son boulot. A mon avis, le problème est que le .bat lui-même n'attend pas que l'autre programme qu'il a lancé se termine. Je peux me tromper, il faudrait vérifier mais je ne sais pas trop comment...
      • Partager sur Facebook
      • Partager sur Twitter

      Mise en attente d'un process

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown