Hauptklasse wird nicht gefunden

Dieses Thema Hauptklasse wird nicht gefunden im Forum "Java Basics - Anfänger-Themen" wurde erstellt von Wuestenfuchs31, 11. Aug. 2011.

Thema: Hauptklasse wird nicht gefunden Ich stehe mit meinem Java noch ganz am Anfang und versuche gerade das HelloWorld Tutorial umzusetzen. Es klappt...

  1. Ich stehe mit meinem Java noch ganz am Anfang und versuche gerade das HelloWorld Tutorial umzusetzen.

    Es klappt auch alles bis ich nach dem Kompilieren die erstellte .class datei ausführen möchte:

    Gebe ich nun in CMD %java HelloWorld ein, dann bekomme ich angezeigt:"Fehler: Hauptklasse Helloworld konnte nicht gefunden oder geladen werden"

    Das Kompilieren per CMD klappt wunderbar, aber nur dieser letzte Schritt leider gar nicht. Da ich nun schon einige Zeit in den Versuch der Lösung des Problems gesteckt habe, wollte ich hier nachfragen, ob jemand einen Vorschlag zur Lösung hat.
     
  2. Hinweis: KOSTENLOSE Java-Grundlagen DVD. Sichere dir hier den kostenlosen Zugriff auf 7 Stunden Video Java-Know How und starte richtig durch!
  3. Die Klasse, die du deklarierst muss "public" sein und den gleichen Namen wie die Datei haben.
    Groß und Kleinschreibung sind relevant.
    Code (Java):

    public class HelloWorld{
     
     
  4. Danke für die Antwort, dass habe ich auch schon erfolglos versucht. Der Code ist der folgende:
    Code (Java):

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
    }
     
    Beim Kompilieren gibt es seltsamerweise keine Probleme und das selbe Problem tritt auch bei anderen Java-kurz-Codes auf.

    Ich habe überlegt ob es irgendwas mit den Umgebungsvariablen zu tun hat, aber die habe ich eigentlich auch richtig gesetzt.
     
  5. nrg
    nrg
    das ist auch case sensitive. wenn deine Datei Helloworld.java muss auch deine Klasse Helloworld heissen

    edit: seit wann gibt Java eigentlich Fehlermeldungen in Deutsch aus :D? oder hast du das übersetzt?

    wobei er dann eigentlich auch nicht mit
    Code (Text):
    java Helloworld.java
    kompilieren dürfte
     
  6. Ja das verstehe ich auch nicht....
    Die Fehlermeldung wurde nicht übersetzt und erscheint so in CMD
     
  7. Versuch vorher mal einen Kompilierungsvorgang
    [c]javac Helloworld.java[/c]

    und dann ausführen:
    [c]java Helloworld[/c]
     
  8. Genauso hab ichs ja gemacht. javac führt er ohne Probleme aus. Den Befehl java scheint er auch zu kennen. Nur wenn ich meine vorher kompillierte .class Datei mit java ausführen will geht irgendwas schief.

    Obwohl ich im richtigen Verzeichnis bin scheint er die Datei nicht zu finden. Ich kann auch einen falschen Namen eingeben und bekomme die selbe Fehlermeldung.
     
  9. Wie sieht denn Dein CLASSPATH aus? Die Java-Laufzeit sucht nicht von sich aus im aktuellen Verzeichnis (liegt an der Unix-Herkunft).

    Dort muss entweder das Verzeichnis, in dem die HelloWorld.java liegt, drin stehen oder der "." für das jeweils aktuelle Verzeichnis.

    Alternativ kannst Du auch in der Kommandozeile "java [Laufwerk]:\[Programmverzeichnis]\HelloWorld eingeben.
     
  10. Auch wenn ich das letztere eingebe habe ich genau das selbe Problem: Kompilieren geht, aber das Ausführen nicht.
     
  11. Nur zur Sicherheit:

    1. In Deinem Code heißt die Klasse "HelloWorld" mit großem "W";
    2. Die Datei heißt aber "Helloworld" mit kleinem "W".

    Richtig? Falls ja, bitte entweder die Datei oder die Klasse umbenennen, sodass sie exakt gleich heißen.
     
  12. jgh
    jgh
    Fehlersuche mal systematisch:
    Du hast was für ein System?
    bei der Eingabe [c]java[/c] kommt sowas ähnliches:
    [xml]Verwendung: java [-options] class [args...]
    (zur Ausf³hrung einer Klasse)
    oder java [-options] -jar jarfile [args...]
    (zur Ausf³hrung einer JAR-Datei)
    wobei options Folgendes umfasst:
    -d32 Verwendet ein 32-Bit-Datenmodell, sofern verf³gbar
    -d64 Verwendet ein 64-Bit-Datenmodell, sofern verf³gbar
    -client zur Auswahl der "client" VM
    usw...
    [/xml]
    und nach [c]javac HelloWorld.java[/c] erscheint in dem Verzeichnis eine HelloWorld.class datei?
     
  13. Nein das hat beides ein großes W im Namen also daran kanns nicht liegen

    Ich hab Windows 7. Wenn ich java eingebe kommt genau das, was du hier geschrieben hast. Und wenn ich [c]javac HelloWorld.java[/c] eingebe erscheint im selben Verzeichnis die .class Datei ja.
     
  14. An Windows7 kann's nicht liegen, habe es selbst gerade mal nachvollzogen. Befindest Du Dich in dem Verzeichnis, in dem die .class liegt, wenn Du java aufrufst?
     
  15. ja
     
  16. Hmm. Mir fällt da momentan auch nichts mehr ein ... Pfad stimmt, Groß-/Kleinschreibung stimmt, JAVA-ClassPath scheint zu stimmen ... jemand anderes eine Idee?
     
  17. compilier mal im cmd und versuche es zu starten, mach mit dem windows snipping tool einen screenshot vom commandofenster, lad den bei imgur.com hoch udn zeig ihn her
     
  18. jgh
    jgh
    ich habe das gerade per Teamviewer ausprobiert...neue java datei angelegt, per cmd compilieren lassen, er schreibt wunderbar die .class datei, trozdem findet er dann die Hauptdatei nicht, die definitiv im korrekten Ordner liegt!
     
  19. Der Screenshot zeigt erst mein CMD Fenster und in jenem erst das erfolgreiche kompilieren und dann der Fehlschlag besagte Datei zu öffnen
     

    Anhänge:

    • gmZlL.jpg
      gmZlL.jpg
      Dateigröße:
      57,8 KB
      Aufrufe:
      840
    Zuletzt von einem Moderator bearbeitet: 11. Aug. 2011
  20. du darfst nicht schreiben
    Code (Text):
    java C:\java\HelloWorld
    Java erwartet als Parameter nicht den Pfad zur Klasse, sondern den vollständigen Klassennamen. Die Klasse HelloWorld müsste also im package c:.java liegen, und das tut sie wohl nicht ;)
    Wechsel ins verzeichnis c:/java und führ da dann einfach java HelloWorld aus.
     
  21. HelloWorld.class liegt im Verzeichnis C:\Java

    Dort wurde sie nach dem Kompilieren automatisch abgelegt


    ;-)
     

    Anhänge:

    • 8afRD.png
      8afRD.png
      Dateigröße:
      32,4 KB
      Aufrufe:
      481
    Zuletzt bearbeitet: 11. Aug. 2011
  22. schau mal ob deine Klasse in einem Package liegt.
    Dann müsstest Du es so starten: java deinpackage.HelloWorld
    (vom Verzeichnis über den Package aus)
     
  23. Sie liegt in keinem Package und mit dem Befehl gehts leider auch nicht.
     
  24. jgh
    jgh
    zeigt er dir mit [c]dir[/c] eigentlich die HelloWorld.class an?

    oder kann sonst evtl. irgendeines von den Security-Programmen evtl. die Ausführung von .class Dateien verhindern?
     
  25. Hast du irgendwie an deinem classpath rumgespielt oder ähnliches?
    Versuch mal
    Code (Text):
    java -cp . HelloWorld
     
  26. so sollte es sein
    [​IMG]


    edit: im zweiten screenshot hast du es ja jetzt so... hm

    installier java nochmal neu
     

    Anhänge:

    • pfad.JPG
      pfad.JPG
      Dateigröße:
      25,6 KB
      Aufrufe:
      1.467
    Zuletzt von einem Moderator bearbeitet: 11. Aug. 2011
  27. DAS FUNKTIONIERT!!!

    Super danke:toll:

    Ich hab eigentlich nicht an meinem Classpath rumgespielt aber was müsste ich denn ändern, damit ich java-Programme ganz normal ausführen kann?
    Momentan verweist mein Classpath noch auf C:\Program Files (x86)\Java\jdk1.7.0\lib
     
  28. Der Classpath sollte immer das aktuelle Verzeichnis mit einschließen, also so:
    Code (Text):
    .;C:\Program Files (x86)\Java\jdk1.7.0\lib
    Standardmäßig sollte der aber auch so angelegt sein ;)
     
  29. Wer lesen kann, ist klar im Vorteil ...

    /Edit: wieso geht das Quoten eigentlich nicht?
    /Edit2: etzert!
     
    Zuletzt bearbeitet: 11. Aug. 2011
  30. Bin neu hier und genau dieses Problem hatte ich nun auch. Danke für den Tipp hatt mir sehr weitergeholfen. Es lief aber auch wobei ich einfach java dateiname ohne .class
     
  31. Ich habe gerade das Gleiche Problem gehabt...
    Bei mir lag es daran, dass ich anstatt:

    java HalloWelt

    nach dem Kompilieren folgendes in das CMD Fenster eingegeben habe:

    java HalloWelt.class

    Dann erscheint nämlich die selbe Fehlermeldung von wegen Hauptklasse konnte nicht gefunden werden.
    Vielleicht liegts ja daran...
     
  32. Die Diskussion ist zwar nicht mehr aktuell, aber ich habe das gleiche Problem gehabt, und heute erfolgreich lösen können.

    Statt bei den Umgebungsvariablen / Variablen "Classpath" habe ich die Variable "JAVA_HOME" erstellt. einfach den Pfad C:\Program Files\java\jdk1.7.0_04 eingeben (dieser Pfad muss nicht stimmen schaut in eurem WindowsExplorer nach, wichtig ist, dass nach der aktuellen Version (bei mir eben jdk1.7.0_04) kein \bin mehr eingegeben wird) ok klicken (mehrmals), dann Neustart, und java Hallo sollte laufen.
     
  33. probier mal
    starte cmd also MS-DOS
    C:> echo %CLASSPATH%
     
  34. Wenn eine Hauptklasse nicht geladen werden kann, dann kann das Problem nur darin bestehen, dass sich das .class File nicht im richtigen Verzeichnis befindet.

    Das Class File muss sich im Verzeichnis befinden, welches im Classpath gewählt wurde.

    Wenn für den Classpath in den Umgebungsvariablen beispielsweise C:\Java_Class_Files vermerkt wurde, könnte das .java File in diesem Verzeichnis kompiliert werden, aber müsste in jedem Fall dort abgelegt sein, wenn man mit java das Programm starten will.


    Checkliste:

    1. Path/Classpath einrichten.
    Benutzervariable mit dem Namen "Path" anlegen und das Verzeichnis des Ordners "bin" des jdk angeben.

    2. Weiere Benutzervariable mit dem Namen "Classpath" anlegen und das Verzeichnis angeben, in dem die Class Files abgelegt werden, die man dann per CMD.exe ausführen möchte.

    Wichtig: Beim Kompilieren mit dem Kommandozeilen Interpreter muss man sich im jeweiligen Verzeichnis des zu kompilierenden java Files befinden. (Gilt nicht für das Ausführen von Class Files).

    LG Vadim
     
  35. Kostenlose Java-Grundlagen DVD im Wert von 29,95 € heute kostenlos sichern (Klick)
Die Seite wird geladen...

Hauptklasse wird nicht gefunden - Ähnliche Themen

Forum Datum
Hauptklasse wird nicht gefunden Java Basics - Anfänger-Themen 16. Juni 2014
Hauptklasse wird nicht gefunden. Deployment 26. März 2007
Hauptklasse wird nicht in JAR-Datei gefunden Java Basics - Anfänger-Themen 14. Juli 2004
Java Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 30. Juni 2016
Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 14. Mai 2016
Interessante Stellenangebote


Weitere Stellenanzeigen

Stellenanzeige Mediadaten