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

Servlets/JSP Java Discussion :

[Servlet]Exécution d'un batch


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut [Servlet]Exécution d'un batch
    Bonjour,

    j'essaye en vain d'éxecuter un batch de la manière suivante:

    Runtime.getRuntime().exec("start /min D:\\test.bat");

    mais j'ai cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Etat HTTP 500 - 
     
    --------------------------------------------------------------------------------
     
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    java.io.IOException: CreateProcess: start /min D:\test.bat error=2
    	java.lang.ProcessImpl.create(Native Method)
    	java.lang.ProcessImpl.<init>(Unknown Source)
    	java.lang.ProcessImpl.start(Unknown Source)
    	java.lang.ProcessBuilder.start(Unknown Source)
    	java.lang.Runtime.exec(Unknown Source)
    	java.lang.Runtime.exec(Unknown Source)
    	java.lang.Runtime.exec(Unknown Source)
    	org.apache.jsp.test_jsp._jspService(test_jsp.java:51)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.0.28.
    Pourriez vous m'aider svp?

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    je crois qu'on ne peut pas faire cela dans un serveur d'application, tout simplement

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Points : 139
    Points
    139
    Par défaut
    J'ai déja eu aussi des problèmes avec exec, peut-être que c'est le serveur d'appli qui interdit les execs mais je sais que ça dépend aussi de l'OS. Pour moi, l'utilisation de l'autre méthode (celle qui a plusieurs paramêtres, les seconds étant les params du script à lancer) avait permis de contourner le problème. C'est sur windows 2000 que ça m'était arrivé.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    RE-Bonjour,

    j'essaye de contourner le problème en éxécutant ce que j'ai dans mon fichier .bat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Process proc =Runtime.getRuntime().exec(commande);
    proc.waitFor();
    commande corresppond à rsh -l nomHote NomScriptUnix Arguments

    Ce que je ne commprends pas, est que cela fonctionne lorsque j'exécute mon appli web via Eclipse et le Tomcat associé.
    Mais lorsque je deploie, toujours sur la même machine mais sur un autre tomcat mon application, ma commande ne semble pas s'éxécuter.

    D'où cela peut il venir? Y a t il une autre façon pour lancer une commande externe en Java?

    Merci pour votre aide

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Quelqu'un a t-il une idée?

  6. #6
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Alors voila, ça fait une semaine que je cherchais, et j'ai enfin trouvé la réponse.
    Alors je vous fais partager le fruit de mes recherches.

    Je n'arrivais pas à exécuter une commande avec Runtime.exec("ma commande"), c'est à dire que rien ne se lançait!!!
    Pour tant sous mon environnement de dev avec Eclipse couplé à Tomcat cela marchait bien!!!!
    Et voilà pourquoi:
    tout simplement (euh ouè peut être pas!) parceque Tomcat dans mon environnement de prod était lancé en tant que service (alors que sous Eclipse il est lancé en mode console). Il faut autorisé le service, c'est à dire aller dans les services Windows-->Propriétés-->Connexion et Cocher ouvrir une connexion avec Ce compte, et préciser avec quel compte vous autoriser le service à ce lancer (généralement avec un compte ayant les droit d'admin).

    Voici un lien pour plus d'info:
    http://www.mail-archive.com/tomcat-u...msg142417.html

    Voilà voilà, je vais pouvoir aller me reposer!

    @+

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

Discussions similaires

  1. [DOS] Exécution d'un batch sans fenêtre ?
    Par Cederic dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 18/03/2008, 19h11
  2. Exécuter un script batch sur un pc distant
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 21
    Dernier message: 22/07/2007, 20h05
  3. Exécuter un fichier batch
    Par Shugo78 dans le forum C
    Réponses: 10
    Dernier message: 13/06/2007, 15h01
  4. Réponses: 5
    Dernier message: 26/05/2007, 20h28
  5. [JSP]Exécution d'un batch
    Par tsco_ops dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/07/2003, 15h58

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