Erreur de compilation

Résolu
Bonjour,
Je débute en Java et j'essaye de compiler ce petit (très petit) programme :

public class BonjourMonde { 
  public static void main(String[] args) { 
    System.out.println("Bonjour Monde"); 
  } 
}

J'utilise la commande
java
dans mon terminal et il me répond ça:

Exception in thread "main" java.lang.NoClassDefFoundError: BonjourMonde
Caused by: java.lang.ClassNotFoundException: BonjourMonde
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)


Pourquoi ?
Merci

2 réponses

  1. Modérateur
    La compilation ne se fait pas avec la commande "java", mais avec la commande "javac"
    1. Je l'ai pourtant bien compiler avec la commande javac, j'ai obtenu une class que j'ai ouvert avec la commande java
    2. Modérateur
      En supposant que ton code soit dans le fichier C:\workspace\BonjourMonde.java
      Tu devrais avoir exactement ces commandes :

      cd C:\workspace
      javac BonjourMonde.java
      java BonjourMonde
    3. Moi, j'ai fait comme ca :
      "javac -chemin d'acces de mon .java-" [entrer]
      "java -chemin d'acces de mon .class-" [enter]
      Et la j'ai une erreur...
    4. Modérateur
      @WizixC'est parce qu'il faut faire comme je l'ai montré et pas autrement !

      En particulier parce que la commande "java" ne prend pas en paramètre un chemin de fichier, mais un nom de classe. C'est pour ça qu'il ne faut pas mettre l'extension .class, ni le chemin d'accès, mais se trouver directement dans le bon dossier.

      Fais comme j'ai écrit tout à l'heure !
    5. @WizixMerci, ca marche du tonerre ! :)
  2. regarde bien si ton du fichier .java et le même que le nom de ta classe, car c'est obligatoire en java