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

VBScript Discussion :

Problème pour créer un VBS exécutant du java.


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Problème pour créer un VBS exécutant du java.
    Bonjour,

    J'ai besoin de développer un script vbs qui lance un programme java.

    Jusque là, j'avais un shell unix qui faisait celà, mais j'aurais besoin de créér un .vbs qui fait la même chose.

    Etant débutant en VB, je suis un peu coincé, même en ayant fait un tour des forum.

    Ci dessous la partie du shell original unix pour laquelle je coince.

    # Creation du CLASSPATH
    for jar in axis axisCognosClient commons-discovery commons-logging \
    dom4j jaxrpc saaj xalan xml-apis xercesImpl opencsv-1.8 ; do
    CLASSPATH="$CLASSPATH:$JAR_HOME/$jar.jar"
    done
    CLASSPATH="$CLASSPATH:$SOURCE/java"

    # Execution de la procedure JAVA ActualiserGroupes
    fctLogD "Option $svTrace - Fichier $svFicData"
    $JAVA -classpath "$CLASSPATH" ActualiserGroupes $svTrace $svFicData 1>$svFicLog 2>$svFicLog



    En premier lieu, je n'arrive pas à déclarer mon CLASSPATH
    dans mon script, j'ai mis un

    set CLASSPATH = "C:/lib/axis.jar";"C:/lib/axisCognosClient .jar" etc

    ça ne veut pas me le prendre. Est ce que je dois déclarer le CLASSPATH comme une variable?

    Ensuite, quelle est la commande à taper pour lancer mon programme java?

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Bonjour,

    Un chemin s'écrit de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CLASSPATH = "C:\lib\axis.jar"
    Il faut utiliser des anti-slash et non des slash.

    Pour lançer le code java, regarde la fonction shell.

    De plus, le point virgule n'est pas pris en compte.

    Que veux-tu faire avec cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set CLASSPATH = "C:/lib/axis.jar";"C:/lib/axisCognosClient .jar" etc
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  3. #3
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Vous pouvez le faire comme ça si je comprends bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dim jar_home, classpath, ajar, entry
     
    jar_home="c:/jar"    'comme vous voulez sour la condition: sans espace vide
     
    '_ est juste un sign pour continuation de la ligne
    ajar=array("axis", "axisCognosClient", "commons-discovery", "commons-logging", _
        "dom4j", "jaxrpc", "saaj", "xalan", "xml-apis", "xercesImpl", "opencsv-1.8")
     
    classpath=".;"
    for each entry in ajar
        classpath=classpath & jar_home & "/" & entry & ".jar;"
    next
     
    'classpath, c'est fait.

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Super!

    Par contre, comment est ce que je peux lancer le

    # Execution de la procedure JAVA ActualiserGroupes
    fctLogD "Option $svTrace - Fichier $svFicData"
    $JAVA -classpath "$CLASSPATH" ActualiserGroupes $svTrace $svFicData 1>$svFicLog 2>$svFicLog
    ?

    J'ai essayé de chercher avec la commande wshell, mais je ne trouve pas d'exemple interessants

  5. #5
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shell.run("cmd /c java -jar MyApplication.jar")
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  6. #6
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    $JAVA -classpath "$CLASSPATH" ActualiserGroupes $svTrace $svFicData 1>$svFicLog 2>$svFicLog ?
    Supposons le vbs se trouve dans la répertoire de la base du package ou dans le cas sans package, celle de ActualiserGroupes.class... ce sont les détails que vous devrez tenir compte par vous-mêmes... On suppose aussi JAVA_HOME soit défini comme un paramètre d'environment parce que beaucoup d'applications le dépendent...

    On peut faire comme ça au grand plan modulo les détails à raffiner.
    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
    set wshshell=createobject("wscript.shell")
     
    set wshsysenv=wshshell.environment("system")
    JAVA_HOME=wshsysenv("JAVA_HOME")
     
    'vos données
    svTrace="whatever"
    svFicData="etc_etc"
    svFicLog="xyz.log"
    classfile="ActualiserGroupes"    'extension .class implicite
     
    scmd="cmd /c " & JAVA_HOME & "/bin/java" & " " & _
        "-classpath" & " " & classpath & " " & classfile & " " & svTrace & " " & svFicData & _
        " " & "1>" & svFicLog & " " & "2>&1"
     
    'lire la documentation si vous ne comprenez pas exactement les arguments 0 et true
    wshshell.run scmd, 0, true
    Il serait un peu délicat de le faire correctement cas par cas, donc, faites un peu d'initiative vous-mêmes là.

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

Discussions similaires

  1. Problème pour créer un SLX en Java
    Par Tino7886 dans le forum Général Java
    Réponses: 9
    Dernier message: 08/09/2014, 15h42
  2. Problème pour créer un exécutable avec Cx-Freeze
    Par moumoute77 dans le forum Général Python
    Réponses: 2
    Dernier message: 17/02/2014, 01h05
  3. [WD12] problème pour créer mon exécutable
    Par law56100 dans le forum WinDev
    Réponses: 4
    Dernier message: 28/01/2009, 15h31
  4. Problème pour créer la relation
    Par LeNeutrino dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/02/2006, 13h24
  5. [XML word] problème pour créer des puces
    Par ratapapa dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/07/2005, 13h52

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