Problem beim Erstellen von Packages

chironex

Erfahrenes Mitglied
Hallo Leute, ich als Java-Laie habe ein Problem mit Packages.

Nehmen wir an, ich möchte in ein Package zwei Klassen stellen:

Code:
package pkg1
public class Klasse1
{
}
und
Code:
package pkg1
public class Klasse2 extends Klasse1
{
}
beide Dateien liegen in einem Verzeichnis mit dem Namen pkg1.

Da ich die Klassen in kompilierter Form in das Package stellen muss, habe ich versucht, diese beiden Klassen zu kompilieren und genau da hab ich das Problem:

Die Klasse1 lässt sich problemlos mit "javac Klasse1.java" kompilieren, jedoch erhalte ich beim Kompilieren der Klasse2 mit "javac Klasse2.java" die Fehlermeldung "cannot resolve symbol" mit einem Zeiger auf das Wort "Klasse1".

Was mache ich hier falsch? Kann mir jemand von Euch weiterhelfen?
 
Hallo!

Du musst dazu die Dateien "anders" kompilieren...
Du musst beispielsweise in das Verzeichnis gehen welches pckg1 untergeordnet ist.
Dann schreibst du einfach:
javac pckg1/Klasse1.java

und danach
javac pckg1/Klasse2.java

Ausführen kannst du die Klasse mit der main(...) Methode beispielsweise so (angenommen in Klasse2 liegt die main Methode):

java pckg1.Klasse2

HTH,
Gruß Tom
 
Danke, damit hast Du mir schon weitergeholfen.

Ich konnte mein Programm bereits kompilieren und aufrufen. Allerdings nur, solange ich die übersetzten Dateien auf dem Datenträger habe.

Wenn ich ein Package mit "jar cvf pkg1.jar *.class" erzeuge und die .class-Dateien lösche, lässt es sich nicht mehr starten. Woran liegt das? Findet er das Package nicht?

Die Fehlermeldung ist ein NoClassDefFoundError.
 
Zurück