1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Java Programmausfuehrung nicht moeglich

Discussion in 'Programmieren' started by Bionicman, Oct 13, 2005.

Thread Status:
Not open for further replies.
  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

    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

    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. ;)
     
Thread Status:
Not open for further replies.

Share This Page