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.
Version imprimable
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.
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.
OK merci, c'est cela dont j'avais besoin. Je vais tester en mettant cette commande dans un fichier bat.
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.
Que veux-tu exécuter exactement? un .jar contenant ta classe principale ou un .class ? autrement dit : dans quoi se trouve ta classe Main?
Le main se trouve dans un fichier class.
Le fichier class s'appelle "Main.class".
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
En faisant cela, j'obtiens le message d'erreur suivant :
Code:
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)
* 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
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.
je sai pa avec kel IDE du travail mais en principe cé cel du rintime ke tu doi utiliser.
Salut,
Comme dit dans mon 2ème post mon IDE est NetBeans.
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.