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 :

Lancer programme java avec un .bat


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Lancer programme java avec un .bat
    Bonjour, j'ai créé le programme java CopyofMain2 sous Eclipse (le programme marche) et mon but est de le lancer à partir d'un .bat.
    Et là, ça ne marche pas et je ne comprends pas ce qu'il faut mettre exactement dans le . bat...
    En fait, à chaque fois que j'essaie de lancer un programme à partir d'un .bat, la fenêtre MS-Dos dit: Impossible de trouver ou de charger la classe principale C:\cygwin\home\Luc\workspace\test-twitter

    Voici pour l'instant ce que j'ai mis dans le . Bat

    cd C:\cygwin\home\Luc\workspace\test-twitter\src\main\java
    set CLASSPATH="C:\cygwin\home\Luc\workspace\test-twitter";
    set MAINCLASS=lucio.bond.twitter.CopyOfMain2.java
    java -cp C:/Users/Luc/.m2/repository/org/twitter4j/twitter4j-core/4.0.4/twitter4j-core-4.0.4-sources.jar %CLASSPATH% %MAINCLASS% > output.txt
    pause

  2. #2
    Membre expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 493
    Points : 3 872
    Points
    3 872
    Billets dans le blog
    8
    Par défaut
    Bonsoir,

    set MAINCLASS=lucio.bond.twitter.CopyOfMain2.java
    Rien de plus normal que ça ne fonctionne pas.

    Tu essaies de lancer un fichier .java (le format ne contenant pas le bytecode donc)

    Lorsque tu as un souci avec les commandes d'un .bat, je te conseille de reproduire à la main toutes les commandes (quand ça ne concerne que des commandes très basiques, cela va de soit) que tu lui demandes, tu finiras toujours pas tomber sur l'erreur.

    Donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set MAINCLASS=lucio.bond.twitter.CopyOfMain2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd C:\cygwin\home\Luc\workspace\test-twitter\src\main\java
    Fais également attention à ça, parce que là tu essaies de lancer ta classe alors que tu te trouves dans un autre package.
    Si la classe CopyOfMain2 n'appartient pas à un sous-répertoire de java, il faut lancer la classe à partir du répertoire src et non à partir de java.

    Et si, à l'inverse, la classe appartient à un sous-répertoire de ce dernier, il faut l'inclure dans le package de la classe, donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set MAINCLASS=main.java.lucio.bond.twitter.CopyOfMain2
    J'espère avoir pu t'aider.

    Cordialement,

    Songbird.
    Avant de poster: FAQ Rust; FAQ Dart; FAQ Java; FAQ JavaFX.
    Vous souhaiteriez vous introduire au langage Rust ? C'est par ici ou ici !
    Une question à propos du langage ? N'hésitez pas à vous rendre sur le forum !


    Pour contribuer à la rubrique, vous pouvez me contacter par MP (Sorry, we're closed!) ou contacter directement la rédaction.

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    En plus, les chemins dans le paramètre -cp doivent être séparés par des points-virgules (;) (ou des deux-point (:) sous linux). Ce qui vaut également pour la variable %CLASSPATH%, que tu as séparée du jar par une espace : conséquence, %CLASSPATH% est considérée comme le nom de classe, et c'est pour ça que tu obtiens comme message d'erreur "Impossible de trouver ou de charger la classe principale C:\cygwin\home\Luc\workspace\test-twitter".
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour l'aide !
    Désormais, mon .bat marche parfaitement !

    cd C:\cygwin\home\Luc\workspace\test-twitter\src\main\java\lucio\bond\twitter
    set CLASSPATH="C:\cygwin\home\Luc\workspace\test-twitter\src\main\java";
    set MAINCLASS=lucio.bond.twitter.CopyOfMain2
    javac -classpath C:/Users/Luc/.m2/repository/org/twitter4j/twitter4j-core/4.0.4/twitter4j-core-4.0.4.jar;C:\Users\Luc\.m2\repository\org\twitter4j\twitter4j-stream\4.0.4\twitter4j-stream-4.0.4.jar CopyOfMain2.java
    java -cp %CLASSPATH%;C:/Users/Luc/.m2/repository/org/twitter4j/twitter4j-core/4.0.4/twitter4j-core-4.0.4.jar;C:\Users\Luc\.m2\repository\org\twitter4j\twitter4j-stream\4.0.4\twitter4j-stream-4.0.4.jar %MAINCLASS%
    pause
    Encore un grand merci !!!

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

Discussions similaires

  1. Comment lancer un programme java avec Process?
    Par stpaul04 dans le forum Débuter avec Java
    Réponses: 15
    Dernier message: 20/02/2011, 23h52
  2. Lancer un .jar avec un .bat?
    Par kobe dans le forum Général Java
    Réponses: 13
    Dernier message: 11/07/2007, 16h13
  3. Comment on connecte un programme Java avec une base de données FireBird?
    Par Gomez dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/02/2007, 10h21
  4. Réponses: 2
    Dernier message: 13/02/2007, 16h14
  5. [VB5] Lancer du java avec ShellExecute
    Par Casp dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/08/2006, 10h40

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