# Compilier-Problem findet Klasse nicht !



## Guest (27. Dez 2008)

habe nun auf meinem Laptop java installiert (jdk1.6.0_10)
Wollte mein Programm compilieren aber er sagt mir das er die IO Klasse nicht finden kann.
Beachte: Sie liegt im selben Ordner, und auf meinem Hauptrechner geht alles ohne Probleme.

Hilfe !!!


----------



## Guest (27. Dez 2008)

aso einen thread gibts schon in der Art 
http://www.java-forum.org/de/viewtopic.php?p=462728
kann mir aber auch wenig helfen


----------



## Murray (27. Dez 2008)

Möglicherweise fehlt das aktuelle Verzeichnis im Classpath?


----------



## Guest (27. Dez 2008)

welches Verzeichnis soll das sein ? Umgebungsvaribale ist eingerichtet und compilieren tut er ...denke nicht das es daran liegt


----------



## Gast (27. Dez 2008)

LifeTexas3.java:96: cannot find symbol
symbol  : variable IO
location: class MeinProgramm
			x = IO.readInt();


sowas gibt der compiler als fehler aus für jedes mal wenn ich auf die IO KLasse zugreifen will.
Zum Verständnis: Auf Hauptrechner geht alles mit selber Ordner und Dateistruktur, IO Klasse ist im Ordner, Programm ist fehlerfrei


----------



## Spacerat (27. Dez 2008)

Hallo...

Komisch das... Der Compiler Fehler sagt irgendwie gar nichts von einer fehlenden Klasse, sondern weisst daraufhin, das die Variable "IO" nicht definiert ist. Das bedeutet wohl, das deine Klasse "IO" gar nicht importiert ist. Deswegen kann der Kompiler auch nichts über ihre statische Methode "readInt()" wissen. Im übrigen weis ich gerade nicht, wie ein Kompiler darauf reagiert, wenn "IO" zwar importiert ist, aber über gar keine bzw. keine statische Methode "readInt()" verfügt. Der Fehler wenn eine Klasse nicht gefunden wurde sieht jedenfalls anders aus.

cu Spacerat


----------



## SlaterB (27. Dez 2008)

für eine Datei aus dem gleichen Verzeichnis braucht man ja normalerweise keinen import 

ich tippe auch mal auf fehlenden . im ClassPath, bzw. lösche testweise alle Umgebungsvariablen, die ClassPath heißen,
ohne ist am besten

ist eigentlich die .java oder die .class-Datei von IO vorhanden? kannst du die vorher kompilieren?,
muss ja nicht gleich ein Beispiel sein, wo sich alle gegenseitig referenzieren


----------



## bambi0815 (27. Dez 2008)

Also die IO.class sowie IO.java ist vorhanden (auch im selben Ordner) und die IO.java ist ohne probleme compilierbar.
PATH C:\Program Files\Java\jdk1.6.0_10\bin; ist die einzige Umgebungsvariable die ich gesetzt habe.
nochmal wiederholt: Auf Hauptrechner geht alles mit selber Ordner und Dateistruktur(ist einfach alles das selbe nur nun auf dem Lappi(Vista), IO Klasse ist im Ordner, Programm ist fehlerfrei, sowie die IO Klasse, Umgebungsvaribale gesetzt.
compilieren tut er, PROBLEM: akzeptiert nicht die IO.class. Puhh ich bin ratlos

MeinProgramm.java:96: cannot find symbol
symbol : variable IO
location: class MeinProgramm
x = IO.readInt();


----------



## Murray (27. Dez 2008)

Nochmal: nimm das aktuelle Verzeichnis in den Classpath: Entweder per Umgebungsvariable

```
set CLASSPATH = .
```
oder als Option beim Aufruf des Compilers:

```
javac -cp . MeinProgramm.java
```


----------



## Ark (27. Dez 2008)

Habe ich das jetzt falsch in Erinnerung oder gibt es solche CP-Probleme unter Ubuntu nicht? ???:L

Ark


----------



## SlaterB (27. Dez 2008)

wenn alles nicht geht sollte man auch mal kurz neu anfangen,
zwei Dummy-Klassen Test1 + Test2 in sauberen eigenen neuen Java-Dateien erstellen, Test1 benutzt Test2,
wenn das doch geht, dann nach Tippfehlern suchen, Klassen die nicht wie die Java-Dateien heißen und anderes was mir aber auch nicht einfällt


----------



## hdi (27. Dez 2008)

und immer schön aufpassen auf welchen Dateien man gerade in der IDE arbeitet und welche Dateien man dann exportiert oder aus dem Worksapce Ordner nimmt.

Hatte das auch schon mal dass ich 2 Stunden auf einer anderen Version einer Datei gearbeitet habe als ich dachte.
Zur Not mal alle geöffneten Tabs/Dateien in der IDE schliessen und nochmal nachsehen ob alles korrekt ist.


----------

