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

API standards et tierces Java Discussion :

[Runtime] code de retour = 1


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut [Runtime] code de retour = 1
    bonjour,

    j'ai un petit fichier .bat (sous windows) et j'aimerais le lancer avec java.
    Ce fichier lance lui aussi un programme java.
    fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java xmlya %1 enCours
    java xmlya %1 termine
    (d'ailleurs si vous avez une instruction pour imprimer sur l'écranen passant )

    et je le lance comme ca avec un autre programme java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Runtime r = Runtime.getRuntime();
            try{
            	//Process p3 = r.exec(new String[] {processusPath + processusExecutable," 412"});
            	//p3.waitFor();
            	//System.out.print(p3.exitValue());
            	Process p2 =r.exec("C:\\Documents and Settings\\user1\\javaworkspace\\xmlya\\batch_test.bat 412");
    (j'ai tester le batch tout seul en ligne de commande : pas de problèmes)

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Bonjour,

    Quel est le problème ? Quelle est ta question ?

    Cordialement,

    Nicolas

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    excellente remarque, j'ai oublier d'exposer mon problème :
    he bien, le code de retour est 1 et si je ne me trompe pas, cela signifie qu'une erreur est survenue lors de l'exécution de mon script.
    Et lorsque je regarde le fichier sensé être modifié par xmlya, il ne l'a pas été (alors qu'il l'est si j'exécute le script en ligne de commande)

  4. #4
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    As tu affiché la cause de l'erreur dans ton catch ainsi que la stack trace ? Si oui, peux tu nous donner ces infos ? Si non, peux tu le faire ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    As-tu vérifié par un File.exists() ou autre que ton fichier existe bien, ou que du moins Java reconnaît le chemin y menant ?

    Nicolas

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par d_token
    (d'ailleurs si vous avez une instruction pour imprimer sur l'écranen passant )
    echo tout simplement

    Citation Envoyé par d_token
    le code de retour est 1
    c'est peut etre simplement un " exit 1 " dans ton bat ?

    ajoute peut etre des echo pour tracer l'exécution de ton script ...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    je viens de relancer le programme ce matin... et ca marche
    enfin une des trois instructions en tout cas
    pour répondre à la question sur le try catch, je ne récupérais aucune exception. (j'imprime toujours le e.printstack..() )

    par contre, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process p0 =r.exec("..\\xmlya\\batch_test.bat 412");
    mais pas celui la ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process p1 =r.exec("C:\\Documents and Settings\\user1\\javaworkspace\\xmlya\\batch_test.bat 412");
    je ne comprend pas (l'un retourne 1 : il s'est planté, l'autre retourne 0.
    (les valeurs correspondent à pi.exitValue() )

    PS : pour tracer le script, je fais des
    dans le code java appelé, mais je ne vois rien sur la console.

  8. #8
    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,

    Citation Envoyé par d_token
    pour répondre à la question sur le try catch, je ne récupérais aucune exception. (j'imprime toujours le e.printstack..() )
    Surement parce que le problème vient du script.
    Tu n'as une exception que si Java n'arrive pas à lancer le programme.

    Mais si ce dernier se lance correctement mais fini en erreur tu n'auras pas d'exception : tu dois lire ses flux de sortie (stdout et stderr) pour avoir plus d'information sur le problème. Le tout dans deux thread différents pour éviter les interblocages...

    Si tu utilises Java 5.0 je te conseille d'utiliser ProcessBuilder qui te permet de regrouper les deux flux en un seul...

    a++

  9. #9
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    System.out.println -> affichage pdt l'exec de java

    echo -> affichage pdt l'exec de .bat

    apres ça dépend de ce que tu veux tracer ... en même temps peut être (je ne sais pas) que ça lance un autre process et que du coup la sortie de ton script n'est pas dans la console où le java est lancé ... peut etre peut tu le redéfinir ...

    euh ... du coup ça marche ou pas ? (enfin c'est résolu je veux dire ?)

    [EDIT] grillé ... en plus ya jamais rien à ajouter à ce que dis adiGuba ( )

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    le problème est résolu oui, mais j'aimerais savoir pourquoi, si possible.
    cette chaine marche en relatif : ..\\xmlya\\batch_test.bat 412
    mais pas en absolu : C:\\Documents and Settings\\user1\\javaworkspace\\xmlya\\batch_test.bat

    pourtant, dans la deuxième chaine, j'ai rajouter un caractère dans le path et ca me donne une erreur d'io (il ne trouve pas le fichier...)

    comprend rien

    (je suis actuellement dans le dossier javaworkspace\test)

  11. #11
    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
    Citation Envoyé par d_token
    comprend rien
    Que te donne la lecture des flux de sortie dans les deux cas ???

    a++

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

Discussions similaires

  1. Code de retour : 27
    Par firejocker dans le forum MFC
    Réponses: 4
    Dernier message: 29/09/2006, 13h38
  2. [Mail] codes de retour email
    Par drommk dans le forum Langage
    Réponses: 8
    Dernier message: 26/06/2006, 14h53
  3. sqlldr code de retour 137
    Par thunderblade dans le forum Oracle
    Réponses: 9
    Dernier message: 18/04/2006, 13h55
  4. DELPHI6, Programme console et code de retour
    Par Desraux dans le forum Débuter
    Réponses: 2
    Dernier message: 21/07/2005, 08h15
  5. [Debutant(e)] Code de retour de mon programme
    Par benji999 dans le forum Général Java
    Réponses: 2
    Dernier message: 10/12/2004, 13h15

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