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 un programme JAVA automatiquement


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut Lancer un programme JAVA automatiquement
    Bonjour,

    J'ai une classe Java avec une méthode Main (compilée donc j'ai un fichier class) que j'aimerais lancer automatiquement via un script bat par exemple.

    Comment faire ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Qu'entends-tu par "lancer automatiquement"?

    C'est le .bat qu'il faut lancer automatiquement et dans celui-ci il faut utiliser la commande d'exécution décrite dans la FAQ.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    OK merci, c'est cela dont j'avais besoin. Je vais tester en mettant cette commande dans un fichier bat.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Bon j'avoue que je n'arrive pas trop à faire la manip.

    J'ai créé un fichier bat qui contient la commande suivante :
    "java -classpath Main"

    J'ai placé le bat au même niveau que tous mes fichiers class.

    -> En lançant le fichier bat : rien ne se place.

    -> Je décide donc de me mettre dans le répertoire courant où sont tous mes fichiers class. En ligne de commande, je tappe :

    C:\workspace_netbeans\ImportMvtComptable\build\classes\importmvtcomptable>java - classpath C:\workspace_netbeans\referentiel_Client\lib\*.jar;C:\workspace_netbea
    ns\ReferentielUniqueHibernate\dist\*.jar Main

    Je précise donc les librairies utilisées mais ça me donne le message suivant :
    Exception in thread "main" java.lang.NoClassDefFoundError: Main

    Merci donc pour toute information complémentaire.

    PS : j'utilise l'interface NetBeans.

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Que veux-tu exécuter exactement? un .jar contenant ta classe principale ou un .class ? autrement dit : dans quoi se trouve ta classe Main?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Le main se trouve dans un fichier class.

    Le fichier class s'appelle "Main.class".

  7. #7
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    tu doit ouvrir un fichier texte (bloc note) et tu saise java "nom du fichier qui contient la méthode main de ton application ", aprés tu fait lenregistrement du fichier texte sous lextension .bat

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    En faisant cela, j'obtiens le message d'erreur suivant :

    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
     
    C:\workspace_netbeans\ImportMvtComptable\build\classes\importmvtcomptable>java Main
    Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: importmvtcomptable/Main)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

  9. #9
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    * bien sur dan ton ficher bat ,tu doit utliser le chemin absolu du ficheir .class contenan la méthode main c a d tu doi ecrire java ..\..\..\"nom class compilé "
    sinon tu met le ficheir .bat é les ficheir complié de ton application dan un mém dossier apré tu lance ton bat avec un simple clique é tu aura lexécution


    * tu peut aussi copier la classepath ( tu le trouve au dessou quand tu lance
    lesécution de ton application a traver ton IDE)
    apré tu ecrit dan le fichier .bat java " coller la classpath que ta copier ".

    * tu peut aussi créer un archive java( tu obtient un ficher jar ) que tu peut apré le lancer avec un simple clic et comme sa tu pe faire lexecution de ton appication dan nimporte kel plateforme

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    J'ai trois types de classpath dans mon projet :

    Compile classpath
    Runtime classpath
    Boot classpath

    Je suppose qu'il faut utiliser le runtime ?

    Et donc faire :

    java -classpath chemin_jar Main

    Merci pour toute info supplémentaire.

  11. #11
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    je sai pa avec kel IDE du travail mais en principe cé cel du rintime ke tu doi utiliser.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Salut,

    Comme dit dans mon 2ème post mon IDE est NetBeans.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Bon finalement j'ai trouvé : avec NetBeans, je "build" la solution, cela me génère un fichier jar. Ensuite je fais : "java -jar MonFichier.jar" que je place dans un fichier "bat" et cela fonctionne bien.

    Merci.

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

Discussions similaires

  1. Lancer un programme java en console sous Windows XP
    Par gecko64 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 17/05/2009, 17h06
  2. [Runtime] lancer un programme java en java !
    Par Lady dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 29/09/2007, 13h25
  3. [Système] lancer un programme Java via PHP
    Par bibiwan14 dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2007, 16h13
  4. Lancer un programme java depuis un programme java
    Par TheBAT dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 06/01/2007, 17h45
  5. débutant->lancer un programme java?
    Par ataya dans le forum Débuter avec Java
    Réponses: 15
    Dernier message: 15/11/2006, 10h42

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