Java Programmausfuehrung nicht moeglich

Dieses Thema im Forum "Programmieren" wurde erstellt von Bionicman, 13. Oktober 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Bionicman

    Bionicman Guest

    Hallo,

    ich habe folgendes Java-Programm:

    public class HelloWorld
    {
    public static void main( String args[ ] )
    {
    System.out.println( "Hello World!" );
    }
    }

    Der Dateiname ist HelloWorld.java

    Das Kompilieren ("javac HelloWorld.java") mit dem Java SDK funktioniert, beim Ausfuehren ("java HelloWorld") erhalte ich jedoch die Meldung "java.lang.NoClassDefFoundError: HelloWorld
    Exception in thread "main""

    Wer weiss bescheid?
     
  2. lazyjo

    lazyjo Byte

    Registriert seit:
    19. August 2005
    Beiträge:
    88
    java hat den Pfad zur HelloWorld-class-Datei nicht gefunden. Siehe nach wo deine class-Datei steht und gib ggf. den kompletten Pfad an.

    Gruß
    JO
     
  3. Bionicman

    Bionicman Guest

    Am Pfad liegts nicht, ist alles im gleichen Verzeichnis.

    Was eigentlich ist nach der Java SDK Installation noch zu tun?
    * die PATH-Variable um \java\bin erweitern

    was vergessen?
     
  4. lazyjo

    lazyjo Byte

    Registriert seit:
    19. August 2005
    Beiträge:
    88
    Ich arbeite normalerweise mit der Entwicklungsumgebung "NetBeans", und habe daher nicht den "path" erweitert. Sofern du mit einem Editor arbeitest und die Befehle "javac" bzw. "java" von hand eingibst ist eine erweiterung des "path" aber durchaus sinnvoll.

    Ich habe gestern deine Vorgehensweise etwa so nachgemacht:

    1. bin mit dem Befehl CD in das Verzeichniss mit der java-Datei gewechselt.
    2. habe mit "c:\...\javac dateiname.java" compiliert.
    3. mit "c:\...\java dateiname" ausgeführt.

    Es hat bei mir funktioniert.

    Dann habe ich "c:\...\java anderesVerzeichnis\dateiname" ausprobiert, und die von dir beschriebene Fehlermeldung erhalten. Daraus schloss ich das du einem falschen Pfad zu Dateiname.class angegeben hast, bzw dich in einem anderen Verzeichnis befunden hast.

    Mir fällt aber noch eine Möglichkeit ein. Die Datei muss so heissen wie die Klasse, also HelloWorld.java. Das scheint bei dir aber der Fall zu sein, daher hatte ich es nicht erwähnt.

    In meinen Programmen ist die Deklaration der main-Methode etwas anders "public static void main(String[]args)". Ich habe aber auch deine Variante mit den eckigen Klammern am Ende probiert und es ging auch.

    Ergebnis: ausser einem falschen Pfad fällt mir nichts ein :-(

    Gruß
    JO

    Edit: Nach der sdk-install habe ich nichts geändert oder erweitert.
     
  5. Bionicman

    Bionicman Guest

    Vielen Dank fuer die ausgiebige Hilfestellung lazyjo. :)

    Ich hab das Problem gefunden: Quicktime hat eine Umgebungsvariable namens CLASSPATH angelegt, nach dem Entfernen dieser lief das Prograemmchen ploetzlich. ;)
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen