# class file contains wrong class



## ingham (13. Dezember 2007)

Hallo da!
Folgendes Problem:
Ich möchte eine Klasse importieren. Wir sind im Verzeichnis ./ und die benötigten Klassen (z.B. "Punkt") sind in ./GeoClass/ (also z.B. "./GeoClass/Punkt.class")
Der Code:


```
import GeoClass.*;
import java.awt.*;
public class Klasse
{
  int anzahl;
  Color farbe = new Color();
  Punkt haus = new Punkt();
  int punktAnzahl;
}
```

Jetzt kommt aber immer beim Kompilieren die Ausgabe:



> Klasse.java:7: cannot access GeoClass.Punkt
> bad class file: ./GeoClass/Punkt.class
> class file contains wrong class: Punkt
> Please remove or make sure it appears in the correct subdirectory of the classpath.
> ...



... und ich versteh's nicht.
In einem anderen Programm funktioniert schließlich auch die Referenz auf ein Unterverzeichnis und alle Klassen werden dort importiert und funktionieren. Könnt ihr mir weiterhelfen?


----------



## fatum (13. Dezember 2007)

Hallo!

Hast Du in der Klasse Punkt den Packagenamen angegeben?


```
package GeoClass;
class Punkt {
}
```

Nach den üblichen Konventionen sollten die Packages (und somit unterordner) übrigens mit Kleinbuchstaben anfangen.


----------



## ingham (13. Dezember 2007)

Eben das ist das Problem: Die Klassen sind in keiner Package, sondern einzeln im Verzeichnis als .class-Dateien. Sie sind auch nicht von mir und NUR als .class, ohne .java-Source. Es muss doch möglich sein (ich kann darauf vertrauen, dass in den Dateien das drinsteht, was draufsteht), auch so diese Klassen zu verwenden. Oder?


----------

