JDK installieren Hauptklasse wird nicht gefunden

zisa

Mitglied
Hallo,

ich bin ganz neu im Programmieren und wage mich grad einfach mal an erste Schritte.

Leider scheint immer noch etwas schiefzulaufen, denn ein erstes mini programm wird nicht ausgegeben.
Ich habe hier schon einige Threads durchsucht, aber leider hat bisher keine dort angegebene Lösung bei mir funktioniert.

also ich habe JDK installiert und im Ordner C:\Program Files\Java\jdk1.8.0_05\bin sind auch sowohl java als auch javac enthalten.

Dann hab ich die Umgebungsvariable PATH mit ;C:\Program Files\Java\jdk1.8.0_05\bin eingestellt.

Mit Notepad++ hab ich folgendes geschrieben:
public class hello
{
public static void main(String args[])
{
System.out.println("Welcome to Java");
}
}

Anschließend hab ich in der Eingabeaufforderung mit javac eine hello.class datei erstellt.

Problem: Wenn ich diese jetzt ausführen möchte geht das nicht.
Hier ist, was ich eingegeben habe:

Verzeichnis von C:\test

16.06.2014 12:32 <DIR> .
16.06.2014 12:32 <DIR> ..
16.06.2014 11:50 132 apples.java
16.06.2014 12:32 419 hello.class
16.06.2014 12:32 116 hello.java
3 Datei(en), 667 Bytes
2 Verzeichnis(se), 337.747.009.536 Bytes frei

C:\test>java hello
Fehler: Hauptklasse hello konnte nicht gefunden oder geladen werden

C:\test>


Ich hoffe sehr, dass mir jemand helfen kann, es ist frustrierend, schon bei dem ersten kleinen Schritt festzustecken !
- bei der Umgebungsvariable hatte ich auch anfangs ohne das semikolon vor dem Pfad, das hatte aber auch nicht funktioniert
- ich habe auch verschiedene hello world programs ausprobiert und immer kam der gleiche fehler
 
Zuletzt bearbeitet:
erst kompillieren , dann ausführen 😉

sprich erstmal über

Code:
javac hello.java

kompillieren , und dann über

Code:
java hello

insofern sich in dieser die main Methode befindet, ausführen.


Ansonsten ist ggf. der Classpath nicht richtig gesetzt oder du befindest dich im falschen Verzeichniss

beim kompilieren aller klassen in einem Verzeichniss musst du die schreiben :

Code:
javac *.java
 
Zuletzt bearbeitet:
Das hab ich gemacht, das hat auch geklappt, sonst wäre die hello.class Datei doch gar nicht entstanden oder?

Leider weiß ich nicht genau, was damit gemeint ist, dass der classpath nicht richtig gesetzt ist. Wie kann ich denn "prüfen", ob das richtig ist?


Verzeichnis von C:\test

16.06.2014 12:32 <DIR> .
16.06.2014 12:32 <DIR> ..
16.06.2014 11:50 132 apples.java
16.06.2014 12:32 419 hello.class
16.06.2014 12:32 116 hello.java
3 Datei(en), 667 Bytes
2 Verzeichnis(se), 337.750.511.616 Bytes frei

C:\test>javac hello.java

C:\test>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 8AA6-3ED7

Verzeichnis von C:\test

16.06.2014 12:32 <DIR> .
16.06.2014 12:32 <DIR> ..
16.06.2014 11:50 132 apples.java
16.06.2014 13:23 419 hello.class
16.06.2014 12:32 116 hello.java
3 Datei(en), 667 Bytes
2 Verzeichnis(se), 337.750.511.616 Bytes frei

C:\test>java hello
Fehler: Hauptklasse hello konnte nicht gefunden oder geladen werden

C:\test>
 
Also bei mir funktioniert dein Code, sprich:

Datei:

hello.java

mit folgendem Inhalt:

Java:
public class hello
{
	public static void main(String args[])
	{
		System.out.println("Welcome to Java");
	}
}

kompiliert mit:

Code:
javac hello.java

und ausgeführt mit

Code:
java hello

ergibt bei mir

Code:
Welcome to Java

als Bildschirmausgabe

Sprich ich tippe auch auf dem Classpath.
Du kannst mit echo %CLASSPATH% ja mal sagen wo der Pfad liegt?
 
vielen Dank schonmal für deine Hilfe!

Bei der Eingabe kommt folgendes raus:

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Franziska>echo %CLASSPATH%
C:\Program Files (x86)\WEVOSYS\lingDIALOG\byte\lcdialog.jar

C:\Users\Franziska>
 
Du müsstest deinen Classpath auf deine Java Libary setzen (z.b: c:\programme\java\jdk1.5.0_01\lib) und dein Path auf dein Java /bin Verzeichnis (z.B.: c:\programme\java\jdk1.5.0_01\bin).

Schau mal ob du nach dem CMD Befehl:
Code:
set CLASSPATH=%CLASSPATH%;JAVA_HOME\lib;
weiterkommst
 
so geht es !
Vielen Daaank!

Aber ich muss es immer wieder eingeben, bevor ich es ausführe.
Kann man das irgendwie "permanent" machen, damit ich nicht immer erst den classpath set machen muss?
 
Für eine dauerhafte Lösung musst du die Systemvariable "Path" korrekt setzen.
Das ist bisher auch mit dem "Classpath" gemeint gewesen

  1. Rechte Maustaste auf Arbeitsplatz
  2. Eigenschaften auswählen
  3. Reiter "Erweitert" auswählen
  4. Umgebungsvariablen auswählen
  5. Systemvariable "Path" auf das genannte Verzeichnis setzen.

Sollte die Variable nicht existieren, einfach neu erstellen
 
Hmm ich dachte die Variable "PATH" wäre zum kompilieren.
Ich hab in der Path Variable "bin" hinten. Wenn ich das auf "lib" ändere, kommt eine Fehlermeldung beim javac ausführen

ich hatte dann eine Variable "CLASSPATH" mit lib hinten gemacht, aber dann kam wieder die Fehlermeldung, die Klasse könne nicht gefunden werde 🙁

Vielen Dank für deine Geduld!
 
Sry für die späte Antwort.

Du musst normalerweise nur den Path setzen, damit Java in beliebigen Verzeichnissen ausgeführt werden kann. Du hast auch vollkommen recht das der Path auf das jdk "bin" Verzeichnis zeigt.

... und dein Path auf dein Java /bin Verzeichnis (z.B.: c:\programme\java\jdk1.5.0_01\bin).
...

Danach sollte es problemlos funktionieren
 

Zurück
Oben