Executer un .class en java?

Fermé
phifou - 1 sept. 2004 à 00:58
 Le-DOC - 7 juil. 2010 à 16:05
salut à tous,
je programme depuis peu en java avec Jcreator et j'aurais une p'tite question. Lorsqu'on compile les fichiers sources, le logiciel crée des fichier .class. Normal. Puis lorqu'on clique sur execute avec Jcreator, ceux ci s'executent tres bien. Normal aussi.
Mais j'aimerais pouvoir executer mes fichiers .class sans passer par Jcreator, et la, je n'y arrive pas. Comment faire? Dans mon livre, ils disent de taper : java nomfichier dans une fenetre DOS. Mais ca marche pas, ca m'indique:
Exeption in thread "main" java.lang.NoClassDefFoundError : nomfichier
Quelqu'un peut il m'aider?

9 réponses

Utilisateur anonyme
1 sept. 2004 à 11:45
Bonjour,
il faut indiquer à la jvm le chemin des classes par l'option -classpath, par exemple si j'ai ma classe principale (celle qui contient la méthode main) dans le répertoire
/home/user/java/projet/package/classes/ClassePrincipale.class, j'écrirai pour exécuter le programme:

$java -classpath /home/user/java/package/classe package.ClassePrincipale

pour avoir les détails, on peut taper: java -help

Tout cela se trouve bien expliqué dans la documentation sur le site de sun:
http://java.sun.com

a+ et bon courage
8
Hello !

Exemple :

fichiers : classe_x.class, classe_y.class, classe_z.class
commande :
java classe_x

En complétant la variable CLASSPATH si nécessaire, il faut entrer java + nom de la classe principale (pas le nom du fichier).

Take care !
3
Utilisateur anonyme
1 sept. 2004 à 20:26
Il suffit d'archiver votre application au format .jar exécutable.

En gros, on archive les classes en y ajoutant un fichier "manifest" indiquant ou se trouve la classe principale:
Main-Class: package.MaClasse

Ceci permet d'avoir un fichier exécutable qui va fonctionner tant sur un environnement windows (tel un .exe) que sous autre un environnement (linux, mac os, qnx, ...).

Toute la doc se trouve ici
http://java.sun.com/docs/books/tutorial/jar/
3
ok merci,
mais avant je programmais en C. Et lorsque je voulais envoyer par mail une application à un copain je n'avais qu'a envoyer le fichier .exe, il n'avait qu'a double cliquer dessus et ca l'executait.

maintenant je voudrais lui envoyer une application que j'ai faite faite en java. Il faudra qu'il fasse toute cette manip avec mes fichiers .class pour excuter? c compliqué, il n'y a pas plus simple? moi j'aimerais qu'il double clique sur un fichier pour l'excuter, est ce possible?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
1 sept. 2004 à 16:28
Ben non, tu lui envoies une page html (avec l'appel à l'applet) + un fichier .class.

Il lui suffit de copier la page + le .class au même endroit et de cliquer sur le .html...

Ou alors j'ai pas compris ta question et il faut un moteur d'applet...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
bon salut pour exécuté ton fichier .class il faux déclaré la variable d'environnement tu va vers ton poste de travail\afficher les informations système\Avancé. puis tu clic sur variable d'environnement tu ajoute variable utilisateur :
nom de la variable : CLASS
valeur de la variable: ;.
puis variable système
nom de la variable : java
valeur de la variable : c:\programme files\java\jdk1.6.0_11\bin
par exemple j'ajoute qu'il te faux le jdk bien sur
bonne chance
0
Tu crée un petit script, ou racourcis qui fait java <nom de ta class principale>
0
Hello !

C'est possible oui mais il faut que ton environnement de développement compile ton appilcation Java en code natif et non en bytecode (.class). Tu obtiendras une application "standalone" qui s'utilise comme un exécutable classique écrit en C par exemple.

Consulte la documentation de ton outil de développement pour savoir.

Take care !
-1
essia d'utiliser JTamaE qui permet de lancer un class java avec de 2 click sur la class.
te peut telecharge JTamaE de le site telecharge.net gratuitement .
-1