Narrive pas à excuter un fichier compilé avec javac
Dernière réponse : dans Programmation
bonlour tout le monde
Je suisnouveau sur ce forum et je voudrai m'initier à la programmation an langage JAVA.en me permetant de vous consulter sur le forum.
Jai acheté un livre le guide d'apprentissage qui s'appelle Java Tête la premiere.
Puis j'ai téléchargé SDK Java 2 standard Edition ver5
et je l'ai installé sur mon ordinateur qui tourne avec l'exploitation W98
tout s'est bien passé
J'utilise l'éditeur sous DOS (edit)pour taper mon code source,qui est simplement le même qui est à la page 3 du premier chapitre du livre.(fete.java)
J'ai compilé le fichier fete.java en exécutant
" javac fete.java"
Li a génér un fichier "fete.class"
comment pourraige visualiser le code compilé"fete.class"?
J'ai tenté d'exécuter "fete.class" en lançant
" java fete.class"
Il s'est avéré un méssag me disant
"Exception in thread "main" java.long NoclassDef
Found Error: fete/class
Je ne sais pas ce que ce la veux dire,et pourquoi le programme ne séxécute pas?
y a til une solution pour que ça fonctionne?
Merci
cordialement.
Je suisnouveau sur ce forum et je voudrai m'initier à la programmation an langage JAVA.en me permetant de vous consulter sur le forum.
Jai acheté un livre le guide d'apprentissage qui s'appelle Java Tête la premiere.
Puis j'ai téléchargé SDK Java 2 standard Edition ver5
et je l'ai installé sur mon ordinateur qui tourne avec l'exploitation W98
tout s'est bien passé
J'utilise l'éditeur sous DOS (edit)pour taper mon code source,qui est simplement le même qui est à la page 3 du premier chapitre du livre.(fete.java)
J'ai compilé le fichier fete.java en exécutant
" javac fete.java"
Li a génér un fichier "fete.class"
comment pourraige visualiser le code compilé"fete.class"?
J'ai tenté d'exécuter "fete.class" en lançant
" java fete.class"
Il s'est avéré un méssag me disant
"Exception in thread "main" java.long NoclassDef
Found Error: fete/class
Je ne sais pas ce que ce la veux dire,et pourquoi le programme ne séxécute pas?
y a til une solution pour que ça fonctionne?
Merci
cordialement.
Autres pages sur : narrive excuter fichier compile javac
Lassé par la pub ? Créez un compte
l'erreur qui t'es donnée est explicite, même si je reconnais que si tu débutes ça soit du chinois.
ton fichier class ne s'exécute pas car tu n'as pas créé de classe fete. en java, un fichier doit toujours porter le nom de la classe qu'il décrit. une seule classe par fichier donc.
ton fichier fete.java doit donc impérativemet être de la forme (à l'erreur de syntaxe près)
import blablabla;
class fete{
les méthodes, les attributs et surtout...
public static int main(String argv[]){
blablabla}
};
ton fichier class ne s'exécute pas car tu n'as pas créé de classe fete. en java, un fichier doit toujours porter le nom de la classe qu'il décrit. une seule classe par fichier donc.
ton fichier fete.java doit donc impérativemet être de la forme (à l'erreur de syntaxe près)
import blablabla;
class fete{
les méthodes, les attributs et surtout...
public static int main(String argv[]){
blablabla}
};
Bonjour j'ai bien reçu votre modification a porter au programme Fete.java.
Mais il ne se compile plus
Permettez -mois de vous le copier le fichier source,pour que vous le corrigiez
import java.awt.*;
import java.awt.event.*;
class Fete{
public static int main(String argv[]) {
Frame f = new Frame();
Label l = new Label("Fete chez moi");
button b = new Button("OK");
Button c = new Button("Désolé");
panel p = new Panel();
P.add(l);
}
}
Savez vous ou je pourrai télécharger le compilateur (Forte For java)
merci bien
Mais il ne se compile plus
Permettez -mois de vous le copier le fichier source,pour que vous le corrigiez
import java.awt.*;
import java.awt.event.*;
class Fete{
public static int main(String argv[]) {
Frame f = new Frame();
Label l = new Label("Fete chez moi");
button b = new Button("OK");
Button c = new Button("Désolé");
panel p = new Panel();
P.add(l);
}
}
Savez vous ou je pourrai télécharger le compilateur (Forte For java)
merci bien
alors, tout d'abord la classe doit s'appeler fete et non Fete, sinon il y a des erreurs de résolution de symbole.
dans la frame que tu créés, tu ne mets rien et tu ne l'affiches pas non plus ....
il faut donc faire un f.add(p);
et un f.pack(); pour mettre la frame en ordre et un
f.setVisible(true); pour l'afficher.
il manque aussi le return 0; en fin de main.
une autre solution assez élégante est de créer dans le main un objet d'une classe toto extends Frame dans laquelle tu définis le constructeur toto()
et c'est dans ce constructeur que tu mettrais toutes les créations et associations des Label, Button, Panel et compagnie. Ceci aurait aussi l'avantage de passer certains soucis de staticité du main.
et pour ce qui est du compilateur Forte, je ne l'utilise pas, javac convient tout à fait à mes besoins. Google ne sait pas où il se trouve ?
dans la frame que tu créés, tu ne mets rien et tu ne l'affiches pas non plus ....
il faut donc faire un f.add(p);
et un f.pack(); pour mettre la frame en ordre et un
f.setVisible(true); pour l'afficher.
il manque aussi le return 0; en fin de main.
une autre solution assez élégante est de créer dans le main un objet d'une classe toto extends Frame dans laquelle tu définis le constructeur toto()
et c'est dans ce constructeur que tu mettrais toutes les créations et associations des Label, Button, Panel et compagnie. Ceci aurait aussi l'avantage de passer certains soucis de staticité du main.
et pour ce qui est du compilateur Forte, je ne l'utilise pas, javac convient tout à fait à mes besoins. Google ne sait pas où il se trouve ?
Bonjour Khayyam
Je n'ai toujour pas exécuté le plus simple des programmes en java; Il y a toujours un probléme lors de la compilation (javac) ou lors de l'exécution (java)
J'utilis des petits programmes source cités en exemple dans le livre avec le résultat.
Mais rien à faire java trouve toujours un probléme à l'exécution ou une erreur
Je comence à doutr de ma manier de faire
Ce n'est quand même pas normal qu'un fichier source donnée comme exemple ne fonctionne pas.
Pouvez-vous me faire parvenir un petit fichier source java tout simple et qui fonctionne pour que je le compile et l'exécut (bourgeois@powerantilles.com)
le fichier fete.java que je vous ai montré je ne sais pas ou rajouter tout ce que vous me citez.
Merci
cordialement.
Je n'ai toujour pas exécuté le plus simple des programmes en java; Il y a toujours un probléme lors de la compilation (javac) ou lors de l'exécution (java)
J'utilis des petits programmes source cités en exemple dans le livre avec le résultat.
Mais rien à faire java trouve toujours un probléme à l'exécution ou une erreur
Je comence à doutr de ma manier de faire
Ce n'est quand même pas normal qu'un fichier source donnée comme exemple ne fonctionne pas.
Pouvez-vous me faire parvenir un petit fichier source java tout simple et qui fonctionne pour que je le compile et l'exécut (bourgeois@powerantilles.com)
le fichier fete.java que je vous ai montré je ne sais pas ou rajouter tout ce que vous me citez.
Merci
cordialement.
Bonjour Khayyam
J'ai bien reçu votr courier avec les deux fichiers
merci
j'ai compilé freme.java la compilation s'est bien fait sans probléme et a généré un fichier (freme .class)
mais quand je veux l'xécuter (java freme.class) un message me dit:
Exception in thread "main" java. long NoSuchMet hod
error: main
dur dur la programmation en java!
Il doit y avoir un truc
Je travaille dans la fenêtre MS-DOS de windows
c:\program files\java\jdk1.5.0_04\bin
est ce bien là qu'il faut compiler et exécuter
cordialement Mr
J'ai bien reçu votr courier avec les deux fichiers
merci
j'ai compilé freme.java la compilation s'est bien fait sans probléme et a généré un fichier (freme .class)
mais quand je veux l'xécuter (java freme.class) un message me dit:
Exception in thread "main" java. long NoSuchMet hod
error: main
dur dur la programmation en java!
Il doit y avoir un truc
Je travaille dans la fenêtre MS-DOS de windows
c:\program files\java\jdk1.5.0_04\bin
est ce bien là qu'il faut compiler et exécuter
cordialement Mr
comme dit dans mon mail (enfin, je crois), l'exécution se fait par java fete et non java freme.
le point d'entrée du programme (le main) est dans la classe fete. la classe freme n'en contient pas (d'où le Exception in thread "main" java. long NoSuchMet hod )
et aussi pour info, il faut compiler les 2 fichiers java
javac fete.java freme.java
le point d'entrée du programme (le main) est dans la classe fete. la classe freme n'en contient pas (d'où le Exception in thread "main" java. long NoSuchMet hod )
et aussi pour info, il faut compiler les 2 fichiers java
javac fete.java freme.java
Bonjour khayyam
je ne savais pas qu'il falait compiler les deux fichiers fete et freme pour que l'aplication fonctionne.
Tout s'est bien pasé cette fois ci
java a exécuté fete sans probléme
pourquoi avez vous utilisé deux fichiers pour l'exécution d'un programme.
ne pourrait on pas rassembler les deux ficiers ensemble pour en faire 1?
je vout écrit un autre fichier dites moi s'il est bon pour compiler et exécuter
Fichier (PremiereAppli.java)
public class PremiereAppli {
public static void main (String[] args) {
System.out.println("je suis le maitre");
System.out.println("du monde");
}
}
Le livre que j'ai ne m'aide pas beaucoup, parce que tous les exemples ont un probléme.Ce n'est pas normal.
Comment on écrit un (reton 0;) en fin de main?
Je voudrai faire le premié fichier que je vous ai copié fontionner.Il vient du livre.
et Merci encore de m'avoir guié dans la compilation et l'exécution avec java.
salutations
je ne savais pas qu'il falait compiler les deux fichiers fete et freme pour que l'aplication fonctionne.
Tout s'est bien pasé cette fois ci
java a exécuté fete sans probléme
pourquoi avez vous utilisé deux fichiers pour l'exécution d'un programme.
ne pourrait on pas rassembler les deux ficiers ensemble pour en faire 1?
je vout écrit un autre fichier dites moi s'il est bon pour compiler et exécuter
Fichier (PremiereAppli.java)
public class PremiereAppli {
public static void main (String[] args) {
System.out.println("je suis le maitre");
System.out.println("du monde");
}
}
Le livre que j'ai ne m'aide pas beaucoup, parce que tous les exemples ont un probléme.Ce n'est pas normal.
Comment on écrit un (reton 0;) en fin de main?
Je voudrai faire le premié fichier que je vous ai copié fontionner.Il vient du livre.
et Merci encore de m'avoir guié dans la compilation et l'exécution avec java.
salutations
Citation :
pourquoi avez vous utilisé deux fichiers pour l'exécution d'un programme.parce que j'ai utilisé 2 classes, et en java, c'est une seule classe par fichier. On pourrait rassembler les 2 fichiers en un en concevant l'appli différemment pour qu'elle ne nécessite plus qu'une classe.
le code
me semble correct, je l'ai compilé / exécuteé sans soucis. C'est un "hello world".
Fichier (PremiereAppli.java) public class PremiereAppli { public static void main (String[] args) { System.out.println("je suis le maitre"); System.out.println("du monde"); } }
Citation :
Comment on écrit un (reton 0;) en fin de main?on rajoute simplement "return 0;" à l'endroit où l'on souhaite que le main se termine (bien sûr, le main doit être déclaré comme renvoyant un int - si ton main renvoie un void, il n'y a pas de return 0 à faire). De la même manière qu'on donne un code de retour pour n'importe quelle autre méthode/fonction.
Bonjour Khayyam
OK pour l'explication concernant l'utilisation de deux fichier pour un programme, et quand il faux utiliser "return 0;"
Pour le code
je vais le compiler à mon tour et voir s'il s'exécute.Je vous fais vérifier pour moi par ce qu'il me sanblait l'avoir testé sans succés.
Peut être que je m'y prenais mal à ce moment là. Je vous tiendrai au courant du résultat.
question:
Le programme que vous m'avez passé ne pourait il pas fonctionner hors de l'environnement java, sur une autre machine par exemple?
Amicalement
OK pour l'explication concernant l'utilisation de deux fichier pour un programme, et quand il faux utiliser "return 0;"
Pour le code
je vais le compiler à mon tour et voir s'il s'exécute.Je vous fais vérifier pour moi par ce qu'il me sanblait l'avoir testé sans succés.
Peut être que je m'y prenais mal à ce moment là. Je vous tiendrai au courant du résultat.
question:
Le programme que vous m'avez passé ne pourait il pas fonctionner hors de l'environnement java, sur une autre machine par exemple?
Amicalement
Citation :
Le programme que vous m'avez passé ne pourait il pas fonctionner hors de l'environnement java, sur une autre machine par exemple?alors, un programme java ne peut pas tourner hors de l'environnement java.
Mais pour ce qui est d'une autre machine, ce soucis n'a pas lieu d'être puisqu'un programme java est exécuté par la machine virtuelle java et non pas par le système d'exploitation. N'importe quel ordinateur ayant la machine virtuelle java (que ça soit un windows, linux, sun, mac ou autre) sera capable d'exécuter le programme java et ce, sans aucune recompilation. Suffit d'avoir la machine virtuelle java.
C'est le principe de la légendaire portabilité de java.
Citation :
Est-ce que l'exploitation w98/xp a prévu un environnement jvm pour exécuté ces programmes java?Cet environnement jvm n'est pas le fruit du travail de microsoft mais plutôt de sun microsystems. sur la page de téléchargement du site de sun tu as le choix de ta plateforme : quelques unes dont windows.
le site te propose soit de télécharger la machine virtuelle java, soit l'environnement de développement, contenant les bibliothèques et le compilateur
Bonjour Khayyam
Le programme PremiereAppli.java ne veut pas se compiler .Il présente 27 erreurs en tout.J'ai bien vérifié que ce soit la réplique du code source que vous avez compilé et exécuté.
Lavez vous modifié pour que ça marche?
La version du compilateur J2SDK est 1.5
Je vais voir si je peux téléchargerune JVM platforme windows.
Je comprend un peu mieux maintenent.
Merci
Le programme PremiereAppli.java ne veut pas se compiler .Il présente 27 erreurs en tout.J'ai bien vérifié que ce soit la réplique du code source que vous avez compilé et exécuté.
Lavez vous modifié pour que ça marche?
La version du compilateur J2SDK est 1.5
Je vais voir si je peux téléchargerune JVM platforme windows.
Je comprend un peu mieux maintenent.
Merci
Citation :
salut quand je compile avec javac
il me donne
javac n'est pas reconnu en tant que commande interne ou externe.
aidez moi.et merci beaucoup
il faut que tu installes le compilateur java sur ton pc :
Voila un bon tutoriel pour toi, il t'expliquera tout pour pouvoir compiler du java : http://www.objis.com/formation-java/tutoriel-java-installation-jdk-6.html
Bonjour, j'ai moi aussi un problème de compilation avec java. Je commence juste à m'y initier, avec "java pour les enfants, les parents et les grands parents", et d'autres trucs que je trouve sur internet. Je suis sous windows XP, et j'ai la version jdk1.
J'ai suivi les instructions à la lettre, j'ai écrit le programme dans le bloc-notes, identique à ce qui est écrit sur le manuel (espaces majuscules et tout ça), et je l'ai enregistré sous le nom BonjourMonde.java.
Ensuite j'ai rentré les données CLASSPATH= .;
et pour PATH=;C:\Documents and Settings\Compaq_Propriétaire\jdk1.6.0_19\bin
(au début j'avais juste rentré le répertoire du dossier jdk1, ce qui donnait: PATH=C:\Documents and Settings\Compaq_Propriétaire,
puis avec
PATH=C:\Documents and Settings\Compaq_Propriétaire\jdk1.6.0_19
mais ça ne fonctionnait pas, alors j'ai carrément rajouté le répertoire où étais Javac (bin), je ne sais pas si j'ai bien fait)
Lorsque je suis dans l'invité de commande, et que je tape DIR, je vois bien dans le répertoire C:\Documents and Settings\Compaq_Propriétaire qu'il y a le dossier de jdk1.
Et lorsque je tape SET et que je regarde les variables, je vois bien les variables PATH et CLASSPATH que j'ai rentrées.
Alors ensuite, dans l'invité de commande, à la suite du répertoire je rentre les données pour compiler, en suivant les instructions:
C:\Documents and Settings\Compaq_Propriétaire>javacBonjourMonde.java
Et ça me répond 'javac.BonjourMonde.java' n'est pas reconnu en tant que commande interne ou externe, ou programme exécutable, ou un fichier de commandes.
Je sais que ce genre de question a été posé 10000fois, mais j'ai beau chercher dans les forums, essayer toutes les solutions que je vois dans différents posts, et refaire la manipulation plusieurs fois, ça fait deux jours que je bloque alors je me décide à poster. J'ai sûrement oublié un truc, ou mal fait une manipulation, mais je n'arrive pas à trouver quoi. Quelqu'un pourrait m'éclairer svp?
Merci d'avance
J'ai suivi les instructions à la lettre, j'ai écrit le programme dans le bloc-notes, identique à ce qui est écrit sur le manuel (espaces majuscules et tout ça), et je l'ai enregistré sous le nom BonjourMonde.java.
Ensuite j'ai rentré les données CLASSPATH= .;
et pour PATH=;C:\Documents and Settings\Compaq_Propriétaire\jdk1.6.0_19\bin
(au début j'avais juste rentré le répertoire du dossier jdk1, ce qui donnait: PATH=C:\Documents and Settings\Compaq_Propriétaire,
puis avec
PATH=C:\Documents and Settings\Compaq_Propriétaire\jdk1.6.0_19
mais ça ne fonctionnait pas, alors j'ai carrément rajouté le répertoire où étais Javac (bin), je ne sais pas si j'ai bien fait)
Lorsque je suis dans l'invité de commande, et que je tape DIR, je vois bien dans le répertoire C:\Documents and Settings\Compaq_Propriétaire qu'il y a le dossier de jdk1.
Et lorsque je tape SET et que je regarde les variables, je vois bien les variables PATH et CLASSPATH que j'ai rentrées.
Alors ensuite, dans l'invité de commande, à la suite du répertoire je rentre les données pour compiler, en suivant les instructions:
C:\Documents and Settings\Compaq_Propriétaire>javacBonjourMonde.java
Et ça me répond 'javac.BonjourMonde.java' n'est pas reconnu en tant que commande interne ou externe, ou programme exécutable, ou un fichier de commandes.
Je sais que ce genre de question a été posé 10000fois, mais j'ai beau chercher dans les forums, essayer toutes les solutions que je vois dans différents posts, et refaire la manipulation plusieurs fois, ça fait deux jours que je bloque alors je me décide à poster. J'ai sûrement oublié un truc, ou mal fait une manipulation, mais je n'arrive pas à trouver quoi. Quelqu'un pourrait m'éclairer svp?
Merci d'avance
Merci pour ta réponse. Oups désolée, j'ai fait une faute dans le post, mais dans l'invité de commande en fait j'ai essayé avec et sans espace. Mais ça ne fonctionne pas. Quand je l'écris correctement (donc avec un espace) ça me répond:
"javac: fichier non trouvé: BonjourMonde.java
Usage: javac <options><source files>
utiliser l'assistant pour une liste d'options possibles"
En gros il ne trouve pas mon fichier BonjourMonde c'est bien ça? Pourtant je l'ai mis dans le dossier jdk1
"javac: fichier non trouvé: BonjourMonde.java
Usage: javac <options><source files>
utiliser l'assistant pour une liste d'options possibles"
En gros il ne trouve pas mon fichier BonjourMonde c'est bien ça? Pourtant je l'ai mis dans le dossier jdk1
aaaaah non j'ai parlé trop vite en fait ça me marque la chose suivante:
jdk1.6.0_19\bin\BonjourMonde.java:1: '{' expected
public class BonjourMonde (
^
jdk1.6.0_19\bin\BonjourMonde.java:3: ';' expected
public static void main(string[] args) (
^
jdk1.6.0_19\bin\BonjourMonde.java:6: illegal start of type
)
^
jdk1.6.0_19\bin\BonjourMonde.java:6: ';' expected
jdk1.6.0_19\bin\BonjourMonde.java:8: reached end the file while parsing
)
^
5 errors
Voilà, alors en gros y'a des erreurs dans les caractères que j'ai saisi dans le fichier BonjourMonde, c'est bien ça? J'ai essayé de corriger plusieurs trucs, mais cela ne fonctionne toujours pas. Quelqu'un peut m'éclairer? Merci
jdk1.6.0_19\bin\BonjourMonde.java:1: '{' expected
public class BonjourMonde (
^
jdk1.6.0_19\bin\BonjourMonde.java:3: ';' expected
public static void main(string[] args) (
^
jdk1.6.0_19\bin\BonjourMonde.java:6: illegal start of type
)
^
jdk1.6.0_19\bin\BonjourMonde.java:6: ';' expected
jdk1.6.0_19\bin\BonjourMonde.java:8: reached end the file while parsing
)
^
5 errors
Voilà, alors en gros y'a des erreurs dans les caractères que j'ai saisi dans le fichier BonjourMonde, c'est bien ça? J'ai essayé de corriger plusieurs trucs, mais cela ne fonctionne toujours pas. Quelqu'un peut m'éclairer? Merci
Voici un copié collé de ce qu'il y a marqué sur le manuel en ligne que j'utilise:
public class BonjourMonde {
public static void main(String[] args) {
System.out.println("Bonjour Monde");
}
}
J'ai carrément fait un copié/collé sur le bloc-notes et enregistré.
Ensuite lorsque j'essaye de compiler dans l'invité de commandes avec l'emplacement exact du fichier:
javac jdk1.6.0_19/bin/BonjourMonde.java
Et ben ça me remt à l'emplacement
C:/documents and settings/compaq_propriétaire>
AAAAh je sais plus quoi faire!!! Quelle erreur ai-je faite?
public class BonjourMonde {
public static void main(String[] args) {
System.out.println("Bonjour Monde");
}
}
J'ai carrément fait un copié/collé sur le bloc-notes et enregistré.
Ensuite lorsque j'essaye de compiler dans l'invité de commandes avec l'emplacement exact du fichier:
javac jdk1.6.0_19/bin/BonjourMonde.java
Et ben ça me remt à l'emplacement
C:/documents and settings/compaq_propriétaire>
AAAAh je sais plus quoi faire!!! Quelle erreur ai-je faite?
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumImpossible excuter les fichiers exe
- ForumJe narrive pas a deplacer un fichier sur windows 7
- ForumRecherche de dossiers ou de fichiers avec excuter
- ForumJe narrive pas à lire un fichier .doc
- ForumJe n'arrive à lire un fichier .avi sur mon téléphone Nokia96, help ME?
- Foruminfection par virus mais je n'arrive pas trouver ce fichier RESOLU
- Forumje n'arrive pas à lire un fichier rar???
- ForumJe n'arrive pplus à ouvrir les fichiers ".exe"
- ForumJe n'arrive pas a supprimer un fichier .mpg
- Voir plus