Announcement

Collapse
No announcement yet.

Programm ausführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programm ausführen

    Hallo,

    ich habe in Java ein Programm geschrieben mit dem Namen umwand.java, habe es kompiliert, und es entstanden die Dateien umwand.class, umwand$1.class und umwand.form.
    Nun meine Frage: was muß ich tun, wenn ich das Programm ausführen will?

    Gruß Renate

  • #2
    Hallo Renate,<BR>
    <BR>
    Der Java-Compiler erzeugt aus Deiner Klasse mit dem Namen "umwand" die Klassendatei "umwand.class". Das ist dann auch die, die den Programm-Einstiegspunkt enthält. Die "umwand$1.class" ist entstanden, weil Deine Klasse noch eine anonyme Klasse enthält, die dann automatisch durchnumeriert und in eine entsprechenden class-Datei compiliert wird. Ich vermute mal, daß es sich dabei um einen WindowAdapter oder ähnliches handelt. Die Form-Datei ist von Deiner Entwicklungsumgebung und wird von der Virtuellen Maschine und damit zur Programmausführung überhaupt nicht gebraucht.<BR>
    Das Programm startest Du mit "java umwand". Der Interpreter weiß dann, daß er nach einer umwand.class suchen und in dieser die main-Methode aufrufen muß.<BR>
    Noch ein Hinweis: In Java ist es üblich, Klassennamen mit einem Großbuchstaben beginnen zu lassen.<BR>
    <BR>
    Stefa

    Comment


    • #3
      Genau das habe ich versucht, und ich bekam die Fehlermeldung:
      Exception in thread "main" java.lang.NoClassDefFoundError: umwand

      Gruß Renat

      Comment


      • #4
        Hallo,

        ich habe den classpath gesetzt, jetzt bekomme ich folgende Fehlermeldung:

        C:\Umwandlung>java umwand
        Exception in thread "main" java.lang.ClassFormatError: umwand (Bad mag

        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknow n Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

        Gruß Renat

        Comment


        • #5
          Diese Fehlermeldung (Exception in thread "main" java.lang.NoClassDefFoundError:umwand) könnte daran liegen, dass du zwar den Dateinamen, aber nicht die Klassendeklaration verändert hast (oder andersherum). Ich bekomme diese Fehlermeldung immer dann, wenn die *.java-Datei anders heißt, als der Klassenkopf (public class *). Du musst auch auf Groß-und Klein-schreibung achten. Anders als bei anderen Programmiersprachen achtet Java hierauf.
          Gruss, Sebastia

          Comment


          • #6
            um es nochmal kurz zusammenzufassen:
            klassenname und dateinaneme müssen identisch sein und üblicher weise beginnen java-klassen mit einem großbuchstaben!

            gruß

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment

            Working...
            X