# CMD findet die java.class Datei nicht



## Alessandro (13. Sep 2011)

Ich bin absoluter Neuling bei java und habe jetzt bei meinem ersten programm bereits mit problemen zu kämpfen.;autsch:.
Bereits javac und helloworld wurden nicht gefunden, doch mit dem angeben des kompletten dateipfads hat es funktioniert.
Aber jetzt hilft auch das nichts.???:L???:L???:L
Bitte um Antworten.:rtfm:


----------



## SlaterB (13. Sep 2011)

nicht gelernt, dass es hilfreich wäre, Informationen zu deinem Problem zu geben, 
etwa Dateinamen, Klassennamen, beteiligte Verzeichnisse, verwendete Kommandos (!), konkrete Fehlermeldungen usw. usf.?

den Titel mit mehrfachen Ausrufezeichen durfte ich auch korrigieren..


----------



## timbeau (13. Sep 2011)

Stichwort Classpath. 

Und die Smileys die es gibt kennen wir, die musst du nicht alle 3x in deinem Post benutzen.


----------



## Mofi (13. Sep 2011)

*Slater ein Keks geb* nicht traurig sein. Dafür haben wir dich ja gern, dass du die Beiträge/Titel erträglicher machst 

Hast du Java deinstalliert? Mal die PATH Variable kontrolliert? Funktioniert es mit Eclipse?

Betriebssystem kaputt gemacht?


----------



## Alessandro (13. Sep 2011)

Also: Ich habe mir das Buch Java als erste Programmiersprache besorgt und habe jetzt mit dem Programm HelloWorld zu tun. Ich habe das Programm mit textpad geschrieben und mit javac kompiliert.
Laut Buch hätte ich nur javac HelloWorld.java schreiben müssen, aber ich musste jeweils den kompletten Dateipfad angeben. Nun heißt es ich müsse java HelloWorld eingeben um die Anwendung zu interpretieren und zu starten, aber wieder funktioniert es nicht, auch nicht mit Dateipfad.


----------



## Gast2 (13. Sep 2011)

Alessandro hat gesagt.:


> Ich habe das Programm mit textpad geschrieben und mit javac kompiliert.
> Laut Buch hätte ich nur javac HelloWorld.java schreiben müssen, aber ich musste jeweils den kompletten Dateipfad angeben.


Dann stimmt deine PATH Variable nicht, dazu gibts hier nen Eintrag im FAQ.



Alessandro hat gesagt.:


> Nun heißt es ich müsse java HelloWorld eingeben um die Anwendung zu interpretieren und zu starten, aber wieder funktioniert es nicht, auch nicht mit Dateipfad.


Richtig, weil java den vollständigen Klassennamen (also inkl. Package) erwartet und nicht den Pfad zur Datei.

=> Dein Java muss korrekt eingerichtet sein, siehe den FAQ Beitrag.


----------



## Mofi (13. Sep 2011)

Um es nochmal zu fragen.
HAST du den CLASSPATH in die PATH Variable deines Betriebssystems aufgenommen? Oder weißt du überhaupt was wir meinen?

Und was heißt den ganzen Pfad angeben?
WAS gibst du denn genau an? Also was tippst du in deine Konsole und was sagt dir die Konsole darauf?

So viel Info brauchen wir schon, weil raten bringt nix und ich besitze keine Kristallkugeln


----------



## ARadauer (13. Sep 2011)

Ganz einfach: Was hast du wo eingegeben? Wo liegen welche Datein? Was ist für eine Meldunge gekommen?

Dann bekommst du eine Antwort und das Problem ist gelöst...


----------



## SlaterB (13. Sep 2011)

CLASSPATH und PATH nicht verwischen, CLASSPATH hat in PATH nichts zu suchen 
und dafür dass Klassen nicht gefunden werden ist PATH kaum verantwortlich, wenn dann wird java.exe nicht gefunden

CLASSPATH ist am besten gar nicht vorhanden, ansonsten könnte es Probleme machen wenn es nicht den Punkt für das aktuelle Verzeichnis enthält,
schnell zu testen mit Kommando
java -cp . HelloWorld 

packages gibt es am Anfang doch sicher noch nicht, oder?


----------



## Alessandro (13. Sep 2011)

1.Ich bin KOMPLETTER Anfänger und habe keine Ahnung von path-Variablen.
2.Ich habe als Dateipfad: "C\ Program Files\Java\jdk1.6.0_21\bin\javac.exe" geschrieben.


----------



## Mofi (13. Sep 2011)

Nun vllt sollte ich nicht zu viel schreiben, da ich auch nix falsches sagen will.
Aber wenn du den ganzen Pfad (zum Compiler) angeben musst deutet es darauf hin, dass Java nicht richtig eingerichtet ist. Du also durchaus noch etwas in die Umgebungsvariablen eintragen musst. Sowas sollte man aber eher irgendwo nachlesen, vorallem, da man die bei verschieden Betriebssystem und auch verschiedenen Windows Versionen an verschiedenen Orten suchen muss. (Hab ewig gebraucht die unter Win 7 zu finden)

Ansonsten wissen wir immer noch nicht was du eingibst nachdem du kompliliert hast und das HelloWorld Programm starten willst und was danach ausgegeben wird.


----------



## timbeau (13. Sep 2011)

1. Soll das eine Entschuldigung sein? 

Java Standard: Einrichten der Programmierumgebung ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

2. Was ist die FEHLERMELDUNG? Wurde jetzt schon mehrfach drauf hingewiesen. Genauso wie auf auf die Pfadproblematik. Wer will denn hier Antworten?


----------



## SlaterB (13. Sep 2011)

> 2.Ich habe als Dateipfad: "C\ Program Files\Java\jdk1.6.0_21\bin\javac.exe" geschrieben. 

das nennst du Dateipfad? javac ist doch das Programm und HelloWorld.java die Datei..
gut dann ist es doch was mit PATH,

Beschreibungen gibt es manche dazu, z.B.
Installation des Java SDK / JDK

hier eher was anderes, aber Bilder:
Setzen der PATH-Umgebungsvariable

-------

evtl. solltest du einfach nur noch die IDE Eclipse herunterladen und so gut wie ohne weitere Installation starten und laufen lassen,
könnte einfacher sein


----------



## ARadauer (13. Sep 2011)

ARadauer hat gesagt.:


> Ganz einfach: Was hast du wo eingegeben? Wo liegen welche Datein? Was ist für eine Meldung gekommen?
> 
> Dann bekommst du eine Antwort und das Problem ist gelöst...



wäre ganz einfach...


----------



## Alessandro (13. Sep 2011)

Wenn ich das programm starten will gebe ich java HelloWorld ein und dann steht da:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
            at java.net.URLClassLoader$1.run<Unknown Source>
            at java.security.AccessController.doPriviliged<Native Method>
            at java.net.URLClassLoader.loadClass<Unknown Source>
            at java.lang.ClassLoader.loadClass<Unknown Source>
            at sun.misc.Launcher$AppClassLoader.loadClass<Unknown Source>
            at.java.lang.ClassLoader.loadClass<Unknown Source>
Could not find the main class HelloWorld. Program will exit.


----------



## SlaterB (13. Sep 2011)

java -cp . HelloWorld 
?


----------



## Alessandro (13. Sep 2011)

Da steht genau dasselbe.


----------



## SlaterB (13. Sep 2011)

in welchem Verzeichnis bist du, was liefert das Kommando dir,
ist eine .class-Datei vorhanden, wie sieht der komplette Quellcode der zugehörigen Java-Datei aus?


----------



## Alessandro (13. Sep 2011)

Bin in C/ Benutzer


----------



## SlaterB (13. Sep 2011)

und die anderen Fragen?


----------



## Asgar13 (13. Sep 2011)

Nehmen wir mal an, das deine HelloWorld.java in D:\Programme wäre, dann wären die Befehle so:


```
D:
cd \Programme
C:\ Program Files\Java\jdk1.6.0_21\bin\javac.exe HelloWorld.java
java HelloWorld
```

1. Wechsel aufs passende Laufwerk
2. Wechsel in den Ordner, wo dein Java-Programm ist
3. Erstell aus deiner .java eine .class Datei
4. Führt deine Datei aus

PS. Deine Fehlermeldung sagt, das sie die Datei HelloWorld.class nicht gefunden hat.


----------



## Alessandro (13. Sep 2011)

Wie wechsel ich das laufwerk?


----------



## Asgar13 (13. Sep 2011)

Durch den Laufwerkbuchstaben und Doppelpunkt

z.B.

```
E:
```


----------



## SlaterB (13. Sep 2011)

die 4 Befehle im Code-Block gehören zu den 4 Beschreibungen darunter


----------



## Alessandro (13. Sep 2011)

Es klappt nicht!!!


----------



## Asgar13 (13. Sep 2011)

Alessandro hat gesagt.:


> Es klappt nicht!!!



timbeaus Vorschlag oder meiner?


----------



## SlaterB (13. Sep 2011)

noch gebe ich nicht auf, brauche selber aber wie andere vorher auch Input:


SlaterB hat gesagt.:


> in welchem Verzeichnis bist du, was liefert das Kommando dir,
> ist eine .class-Datei vorhanden, wie sieht der komplette Quellcode der zugehörigen Java-Datei aus?


----------



## Alessandro (13. Sep 2011)

Habe eine .class datei was meinst du mit was liefert dir das kommando
und mit dem kompletten quellcode?


----------



## SlaterB (13. Sep 2011)

'dir' ist ein Kommando was du eintippen kannst und Informationen liefert,
was der Quelltext einer Java-Datei ist ist dir unverständlich?

edit:
habe einige Spam-Posts gelöscht,
wer nichts beizutragen hat ganz entspannt schweigen, bitte


----------



## Asgar13 (13. Sep 2011)

Der "Quelltext" ist der Inhalt deiner .java Datei.


----------



## gerade_online (13. Sep 2011)

Hier die online-Buchversion 

Java als erste Programmiersprache

Einfach nochmal lesen, bei Punkt 1. beginnen (PATH setzen).


----------



## Alessandro (13. Sep 2011)

Ich glaube du meinst damit den text aus der die datei besteht.
Oder?


----------



## Asgar13 (13. Sep 2011)

Ja, genau das.


----------



## Alessandro (13. Sep 2011)

War mir nicht ganz sicher.
Hier: 
	
	
	
	





```
// Datei: HelloWorld.java

public class HelloWorld   // Klasse zur Ausgabe von Hello, World!
{
   public static void main  (String[] args)  // Methode main() zur Ausgabe der Zeichenkette "Hello, World!"
   {
      System.out.println  ("Hello, world!");
   }
}
```


----------



## SlaterB (13. Sep 2011)

hmm, nix spannendes zu sehen, 
bleibt noch die Hoffnung, dass der dir-Befehl aufdeckt, dass die Datei anders heißt, die .class-Datei fehlt oder du komplett woanders bist,
was liefert 'dir' (ohne Anführungszeichen..) in der Konsole in Verzeichnis in dem du da so bist?

ein Screenshot wäre besonders überzeugend, auch mit danach noch eingetippten Befehl + Fehlermeldung, kann man hier an Postings anhängen


----------



## Asgar13 (13. Sep 2011)

Wo liegt die Datei HelloWorld.java?

z. B.

```
C:\Benutzer
```


----------



## Alessandro (13. Sep 2011)

Wie macht man einen screenshot?


----------



## SlaterB (13. Sep 2011)

man tippt 'Wie macht man einen screenshot? ' in eine Suchmaschine ein, 
alternativ die Rückgabe von dir abtippen, 
geht ja auch nur grob darum ob alle Dateien da sind und wie sie exakt heißen, jeder Tippfehler kann alles zunichte machen


----------



## Asgar13 (13. Sep 2011)

Alessandro hat gesagt.:


> Wie macht man einen screenshot?



Oben rechts auf der Tastatur gibt es eine Taste Names "Druck",
wenn du dadrauf drückst, dann macht der Pc einen Screenshot.

PS. Du scheinst dich aber auch im Bereich Pc auch nicht allzu gut auszukennen.


----------



## Alessandro (13. Sep 2011)

Ist mir mittlerweile auch schon eingefallen.






[/url][/IMG]


----------



## SlaterB (13. Sep 2011)

tja, in dem Verzeichnis ist offensichlich weder eine .java noch eine .class-Datei vorhanden,
hast du hier versucht das Kommando auszuführen?

wo ist deine .java? C:\benutzer ? dieses Verzeichnis ist als erstes interessant..
dort schonmal das Kommando ausgeführt? 
'Verzeichnis wechseln' wurde schon gepostet, auch was für Suchmaschine


----------



## Asgar13 (13. Sep 2011)

Asgar13 hat gesagt.:


> Wo liegt die Datei HelloWorld.java?
> 
> z. B.
> 
> ...



Dann bleibe ich bei dieser bösen Frage.


----------



## Alessandro (13. Sep 2011)

Es liegt unter Dokumente.


----------



## timbeau (13. Sep 2011)

Und warum gehst du dann nicht in den Ordner Dokumente? Und machst da alles nochmal? 

Noch ne Frage, warum machst du das hier überhaupt?


----------



## Asgar13 (13. Sep 2011)

```
cd Documents
```
und dann

```
java HelloWorld
```
und es dürfte funktionieren.


----------



## Alessandro (14. Sep 2011)

Super, es hat geklappt!
Mein erstes Programm.
Danke für eure Hilfe (und Geduld).


----------



## genc (24. Sep 2011)

So Servus alle miteinander!

Das war ja mal eine schwere Geburt. Hab das ganze gerade durchgelesen, weil ich mich wie bei meinem ersten JDK damals heute wieder aufgeregt und nach Hilfe gesucht habe. Nach langer Zwangspause versuche ich es wieder mit Java.

Ich hab mich auf den Kopf gestellt, um Blut in meinen trockenen Hirn zu bekommen.
Benutzervariable funktioniert.
Umgebungsvariable nicht. - Warum?

Ich war kurz vorm ;( als dann die Idee kam. Weil es so banal ist und mir nicht auffiel möchte ich es hier für alle nach mir festhalten:

In der Umgebungsvariable nach dem Semikolon *OHNE* Leerzeichen den Pfad eingeben. 

Bin darauf gekommen, als ich das hier nebenbei durchgelesen habe und den Fehler gesehen.


----------

