hagi: java.lang.NoClassDefFoundError

Hallo,
ich kann das Problem einfach nicht lösen :(
Egal welche Java-Klasse ich mit javac in MSDOS öffne bekomme ich feolgende Meldung:
java.lang.NoClassDefFoundError: myClass

myClass steht für den Namen der aktuellen Klasse.
Weiss jemand eine Lösung?
Danke,
hagi

  1. Hallo,

    hast du den Ratschlag befolgt, mal die Classpath-Variable aus dem
    path zu nehmen? Wenn ja, dann mach mal folgendes.

    Kopiere diesen Code hier raus und füge ihn in einen Editor deiner Wahl ein:
    -----------------------------------------------------------------------
    class Test
    {
        public static void main(String[] args) {
            System.out.println("Dies ist ein Test");
        }
    }
    -----------------------------------------------------------------------

    Speichere die Datei unter dem Namen "Test.java" (in genau dieser
    Groß/Kleinschreibung). Dann mach eine Konsole auf und wechsle in das
    Verzeichnis, in das du die Datei gerade gespeichert hast.
    Führe dort jetzt folgenden Befehl aus (wieder auf Groß/Kleinschreibung achten):
        "javac Test.java"

    Nachdem du die Java-Datei damit kompiliert hast, führe sie folgendermaßen
    aus:
        "java Test"
    (ohne ".class" oder dergleichen)

    Jetzt sollte "Dies ist ein Test" auf dem Bildschirm erscheinen.
    Wenn nicht, dann paste mal genau das hier rein, was du auf der Konsole
    eingegeben hast und was genau(!) als Fehlermeldung zurückkam.

    Gruß
    Slyh

    PS: Der Java-"Interpreter" heißt übrigens "java.exe", nicht "javac.exe". Der letztgenannte ist der Compiler.

    1. Hallo Slyh,
      ich habe deine Ratschläge befolgt und habe am Ende folgenden Fehler in der Konsole bekommen:
      Exception in thread "main" java.lang.NoClassDefFoundError: Test
      Mit "set" habe ich die classpath geprüft, sie steht auf CLASSPATH="C:\Program Files\JavaSoft\JRE\1.3.0_01\lib\ext\QTJava.zip"
      Dieser Pfad exisitert aber auf meinem Rechner nicht, d.h. der Pfad ist bis "JRE" ok, den Rest "\1.3.0_01\lib\ext\QTJava.zip" gibt es nicht.

      Danke,
      hagi

      Hallo,

      hast du den Ratschlag befolgt, mal die Classpath-Variable aus dem
      path zu nehmen? Wenn ja, dann mach mal folgendes.

      Kopiere diesen Code hier raus und füge ihn in einen Editor deiner Wahl ein:

      class Test
      {
          public static void main(String[] args) {
              System.out.println("Dies ist ein Test");
          }
      }

      Speichere die Datei unter dem Namen "Test.java" (in genau dieser
      Groß/Kleinschreibung). Dann mach eine Konsole auf und wechsle in das
      Verzeichnis, in das du die Datei gerade gespeichert hast.
      Führe dort jetzt folgenden Befehl aus (wieder auf Groß/Kleinschreibung achten):
          "javac Test.java"

      Nachdem du die Java-Datei damit kompiliert hast, führe sie folgendermaßen
      aus:
          "java Test"
      (ohne ".class" oder dergleichen)

      Jetzt sollte "Dies ist ein Test" auf dem Bildschirm erscheinen.
      Wenn nicht, dann paste mal genau das hier rein, was du auf der Konsole
      eingegeben hast und was genau(!) als Fehlermeldung zurückkam.

      Gruß
      Slyh

      PS: Der Java-"Interpreter" heißt übrigens "java.exe", nicht "javac.exe". Der letztgenannte ist der Compiler.

      1. Hallo,

        Mit "set" habe ich die classpath geprüft, sie steht auf CLASSPATH="C:\Program Files\JavaSoft\JRE\1.3.0_01\lib\ext\QTJava.zip"

        Ooh, jetzt weiß ich wo der Hund evtl. begraben liegt.
        Schmeiß mal diese c:\program files.... aus dem ClassPath raus (brauchst
        du eh nicht) und füge stattdessen nur einen einzelnen Punkt ein.
        Also z.B. so:
          "set classpath=."

        Und schon müßte es gehen... endlich... hoffentlich. *g*

        Gruß
        Slyh

        PS: http://www.learn.to/quote/

        1. Hoi,

          Ooh, jetzt weiß ich wo der Hund evtl. begraben liegt.

          Das haette ich dir auch sofort sagen koennen ;-))

          du eh nicht) und füge stattdessen nur einen einzelnen Punkt ein.
          Also z.B. so:
            "set classpath=."

          Und schon müßte es gehen... endlich... hoffentlich. *g*

          Du hast die Erklaerung vergessen. In der Umgebungs-Variable CLASSPATH
          stehen die Pfade drin, in der der javac und java selber nach den
          Klassen suchen. Da kann ein beliebiges Verzeichnis oder auch eine beliebige .jar- oder .zip-File drin stehen, und aus diesen
          Verzeichnissen/Jar-/Zip-Files kann man dann die enthaltenen
          Klassen/Packages per "import" importieren. Solltest du irgendwann also
          mal zusaetzliche Klassen benoetigen (z. B. den Xerces-J-Parser), dann
          brauchst du nur den Classpath auf die jar-Files oder auf das
          Verzeichnis zu setzen.

          PS: http://www.learn.to/quote/

          ACK.

          Gruesse,
           CK