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

Entrée/Sortie Java Discussion :

"Convertir" un fichier class en batch (pour l'exécuter d'un simple clic)


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste-programmeur
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste-programmeur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut "Convertir" un fichier class en batch (pour l'exécuter d'un simple clic)
    Bonsoir, comment annoncé dans le titre, j'aimerai parvenir à créer un fichier batch (.bat) qui exécuterait un algorithme que j'ai réalisé en Java. Je cherche depuis une heure mais je comprends pas trop les quelques rares méthodes que j'ai trouvées, alors si une âme charitable voulait bien tenter d'expliquer ça la mon cerveau fatigué, je lui en serait redevable! Merci d'avance!
    Je précise juste que, vu que les .bat exécutent l'algorithme dans une console Windows, j'aimerai le faire avec cette méthode et elle seule car c'est pour envoyer à un IUT Info couplé à ma lettre de motivation pour l'année prochaine

    En gros j'ai un fichier class comportant mon algorithme et que j'ai déjà exécuté via la console Cmd, au passage je m'en fous de l'esthétique (c'est bien pour ça qu'un batch m'ira très bien )

  2. #2
    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 : 55
    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,

    On ne peut pas convertir un fichier .class (un fichier binaire, contenant du bytecode Java) en un fichier .bat ou un .cmd (un fichier de texte qui contient des commandes dos). Mais on peut mettre la commande de lancement de la classe (celle qu'on tape en console) dans un .bat et lancer ce .bat tout simplement, soit en console, soit par l'exploreur (en double-cliquant dessus ou en cliquant dessus selon la configuration windows).

    Sinon, il y a aussi la possiblité de mettre le .class dans un jar exécutable, qui lui pourra être exécuté sans nécessairement taper une commande, en double-cliquant directement dessus : peut-être est-ce ça que tu cherches à faire ? Pour faire ça, si tu utilises un IDE, c'est assez simple. En console, c'est un tout petit peu moins simple (voir FAQ). S'il y a des paramètres à passer, autant prendre la première solution, parce que pour l'exécuter sur double-clic, il faudra de toute manière mettre la commande qui lance le jar (java -jar fichier.jar par1 par2...) dans un bat.

    Dernière solution, faire un .exe qui lance le .class, mais c'est peut-être overkill pour juste un .class. Il faut pour ça utiliser un programme spécial comme launch4j par exemple.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste-programmeur
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste-programmeur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Ok merci merci d'avoir pris le temps de répondre, je vais essayer tout ça

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Analyste-programmeur
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste-programmeur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Justement j'avais bien compris que c'était pas une "conversion" vu que le langage java est fait pour compiler plusieurs .class en un seul Mais quelles sont les lignes de code que je devrais écrire au début de mon programme (dans le .java ou le .bat?) pour pouvoir le lancer, comme tu me l'as expliqué au début de ton message?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Si ta classe s'appelle Machin, a une déclaration package com.company au début et que Machin.class se trouve dans le répertoire c:\Users\Toto\Application\com\company\, tu crée dans le dossier c:\Users\Toto\Application\ un fichier machin.bat où tu écris simplement java com.company.Machin
    Mais sérieusement, si le but est de lancer ton application "en un clic", fait en un jar comme tout le monde

  6. #6
    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 : 55
    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
    C'est peut-être un programme qui affiche quelque chose dans la console que tu veux pouvoir lancer d'un clic, en voyant la console ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Analyste-programmeur
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste-programmeur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    @Joel Drigo exactement

    Mais c'est surtout que faire un .jar est bien plus compliqué mais en dernier recours je ferai comme ça

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Analyste-programmeur
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste-programmeur

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Désolé de vous avoir ré-embêté j'ai trouvé je suis idiot ^^ J'avais écris "java [nom de ma classe]Main mais j'ai capté que c'était le nom de ma classe principale, et vu que j'en ai qu'une seule.. :p
    Encore Merci à vous!

  9. #9
    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 : 55
    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
    Pour voir la console, mets dans le .bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off
    cmd /K java machin
    ou machin est le nom de ta classe. Et le .bat doit être dans le dossier qui contient le .class (sinon il faut adapter le chemin)

  10. #10
    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 : 55
    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
    Citation Envoyé par easypixels Voir le message
    Désolé de vous avoir ré-embêté j'ai trouvé je suis idiot ^^ J'avais écris "java [nom de ma classe]Main mais j'ai capté que c'était le nom de ma classe principale, et vu que j'en ai qu'une seule.. :p
    Encore Merci à vous!
    Oui, ça, on se doutait bien que l'unique classe avait une méthode main() pour pouvoir être exécutée. Maintenant, qu'il y ait une classe, ou plusieurs, qui ont une méthode main, on indique jamais le nom de la méthode (main) dans la commande java : seul le nom complet de la classe est nécessaire et la classe doit avoir une méthode main().

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/11/2010, 15h01

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