Classpath

java__neuling

Aktives Mitglied
Hallo,

mal eine kruze Frage.

Der Classpath gibt doch an wo der Javacompiler und der Interpreter nach weiteren Klassen suchen soll.

Wenn mein Classpath auf C:\ gesetzt ist und sich die Klassen im Verzeichnis c:\temp1\tem2\ befinden kann ich diese doch mittels

Java:
import temp1.temp2.*;

einbinden.

In einigen vorgefertigen Programmen finden ich aber auch folgende Importanweisung:

Java:
import java.io.*;

fehlt da nicht noch etwas?

Java:
Program Files.Java.jdk1.6.0_21 usw....

Danke und Gruß!
 

Haave

Top Contributor
Die Java-Funktionsbibliothek wird ihren Classpath-Eintrag sehr wahrscheinlich bei der Installation der JVM mit erhalten, so dass der Compiler bei Klassen aus der Java-API darüber informiert ist, wo er suchen muss, ohne dass du das noch manuell angeben müsstest. Ist erstens sinnvoll und zweitens wäre etwas wie "Program Files.Java" etc. anzugeben nicht besonders plattformunabhängig ;)

In der Manpage hier unter Linux steht dazu folgendes:
The Java runtime searches for the startup class, and other classes
used, in three sets of locations: the bootstrap class path, the
installed extensions, and the user class path.


Edit:
Hab grad mal nachgeschaut und meine mich zu erinnern, dass diese ganzen Standard-API-Sachen in rt.jar liegen. Die ist bei mir in /usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib, also wird da auch ein Classpath der JVM hinführen.
 
Zuletzt bearbeitet:

tagedieb

Top Contributor
Wenn mein Classpath auf C:\ gesetzt ist und sich die Klassen im Verzeichnis c:\temp1\tem2\ befinden kann ich diese doch mittels

Java:
import temp1.temp2.*;

einbinden.

Das funktioniert aber nur wenn der Packagename deiner Klasse auch mit
Code:
temp1.temp2
uebereinstimmt, ansonsten wird das nicht funktionieren.
 

tagedieb

Top Contributor
What is a Package

Eine Klasse besteht aus einem Klassennamen und einem Packagenamen. Der Packagename ist ein Namespace um die Klassen zu organisieren und eindeutig zu identifizieren.

z.B.
Code:
java.lang.String

Packagename: java.lang
Klassenname: String

Das heisst die Datei
Code:
String.class
muss im Verzeichnis
Code:
java/lang
liegen, entweder im Filesystem oder in einer Jar-Datei. Im Classpath muss man die Unterverzeichnise nicht angeben. Es reicht das Rootverzeichnis anzugeben. Von dort sucht Java im Unterverzeichnis java/lang die Datei String.class

Wenn deine Klassen kein Packagename definieren muss die .java/.class im Rootverzeichnis liegen
 

java__neuling

Aktives Mitglied
...also ich will ja nicht nerven.

aber gestern als ich ds topic eröffnet habe, habe ich eigentlich gedacht ich weiß was der classpath ungefähr ist jetzt weiß ich weniger als vorher.

anscheinend gibt es einen vordefinierten classpath vpn java,
das ist wohl diese zip datei src.zip.

aber was ist wenn ich unter windows meine classpath auf C:\ setze und im verzeichnis

"c:\temp1\temp2"

eine .class + .java datei einbinden möchte.

1. wie lautet die import-anweisung?
2. spielt es eine rolle, wo sich die java datei befindet, in der die import-anweisung steht?

besten dank!
 
M

Marco01_809

Gast
Nein, die src.zip ist der Source Code. Wie bereits mehrfach beschrieben ist es die rt.jar in /lib/.

Ich hab mal gehört, das man keine *.class Files benutzen sollte. Dazu gibt es *.jar (Java .class Dateien Archive).

Du brauchst auch nicht die *.java Datei, denn das ist nur der Source Code. Die JVM braucht wenn denn nur den Bytecode (*.class), aber wie gesagt, die sollten immer in Packages in jar-archiven verpackt sein ...
 

java__neuling

Aktives Mitglied
Nein, die src.zip ist der Source Code. Wie bereits mehrfach beschrieben ist es die rt.jar in /lib/.

Ich hab mal gehört, das man keine *.class Files benutzen sollte. Dazu gibt es *.jar (Java .class Dateien Archive).

Du brauchst auch nicht die *.java Datei, denn das ist nur der Source Code. Die JVM braucht wenn denn nur den Bytecode (*.class), aber wie gesagt, die sollten immer in Packages in jar-archiven verpackt sein ...

und was ist wenn die .class dateien nicht in packages verpackt sind? wie werden diese dann eingebunden

danke!
 
M

Marco01_809

Gast
Jede *.class Datei sollte in einem Package sein. Ob gepackt oder nicht.

Immer die erste Zeile in einer Datei sollte "package xxx.xxx..." sein. Ansonsten ist spricht man vom "default package". Dann kann diese Datei aber nicht importiert werden.
Deshalb sollte man dieses auch nicht nutzen.

Das Package kannst du dir selbst aussuchen.
Ich hab gelernt das es so aufgebaut sein sollte:
TAG.ENTWICKLER.PROGRAMMNAME

So weit ich weiß;
Wenn dein Package z.B. "org.javaneuling.coolesProgramm" ist, dann brauchst du folgende Ordnerstruktur:
Einen Ordner org, darin dann ein Ordner "javaneuling" und darin dann der Ordner "coolesProgramm", dann die *.class Datei, die genauso heißt, wie die Klasse, die in der Datei enthalten ist.

Die Datei, die die andere Datei dann importieren soll, in das selbe Verzeichnis wie der Ordner "org".
In dieser Datei dann "import org.javaneuling.coolesProgramm.KLASSENAME".
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
Michi__ Modulepath und Classpath fehlen Java Basics - Anfänger-Themen 2
A CLASSPATH Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
J .classpath und .project? Java Basics - Anfänger-Themen 1
M Classpath Befehl zum Kompilieren um die Option classpath erweitern. Java Basics - Anfänger-Themen 5
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
C Die CLASSPATH Variable Java Basics - Anfänger-Themen 1
S Classpath: Alle .jars innerhalb eines Ordners einbinden Java Basics - Anfänger-Themen 4
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
T File aus Classpath verwenden Java Basics - Anfänger-Themen 3
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
Q Classpath mit Text Editor progammieren (Classpath) Java Basics - Anfänger-Themen 5
B Umgebungsvariable + Classpath Java Basics - Anfänger-Themen 2
V Erste Schritte Ausführen mit cmd + Classpath Java Basics - Anfänger-Themen 13
H Classpath Eclipse? Java Basics - Anfänger-Themen 13
L Classpath anlegen Java Basics - Anfänger-Themen 6
P Classpath falscher Classpath, aber nicht immer Java Basics - Anfänger-Themen 19
H Classpath konnte nicht gefunden werden? Java Basics - Anfänger-Themen 2
C Java3d Classpath?!? Java Basics - Anfänger-Themen 11
M Classpath Jar nicht ausführbar, Classpath warscheinlich falsch Java Basics - Anfänger-Themen 10
M Classpath Java Basics - Anfänger-Themen 11
D Classpath compiler zur Laufzeit aufrufen & lib-classpath Java Basics - Anfänger-Themen 6
C Classpath Classpath in Jar Dateien Java Basics - Anfänger-Themen 15
S ClassPath Java Basics - Anfänger-Themen 12
Z CLASSPATH + Packages Java Basics - Anfänger-Themen 6
J classpath Java Basics - Anfänger-Themen 10
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
J Frage zu jars/classpath Java Basics - Anfänger-Themen 7
K MySQL, Classpath, Java, MAC OSX Java Basics - Anfänger-Themen 3
D Classpath setzen Java Basics - Anfänger-Themen 4
J Classpath bestimmen, unter Windows 7 Java Basics - Anfänger-Themen 2
E Classpath Java Basics - Anfänger-Themen 4
B XOM...Classpath etc.??? Java Basics - Anfänger-Themen 2
L set Classpath für JDK Java Basics - Anfänger-Themen 2
L Lucene Classpath unter linux setzen Java Basics - Anfänger-Themen 8
B Classpath setzen - UNTER MAC OS X Java Basics - Anfänger-Themen 2
J classpath funktioniert nur in eclipse nicht auf der konsole?! Java Basics - Anfänger-Themen 6
P ClassPath in Ubuntu Java Basics - Anfänger-Themen 4
S dauerhafte CLASSPATH-Umgebungsvariable Java Basics - Anfänger-Themen 3
E Classpath Frage Java Basics - Anfänger-Themen 2
C Textpad, classpath, java = Probleme Java Basics - Anfänger-Themen 21
F probleme mit classpath/auslagerung von klassen Java Basics - Anfänger-Themen 5
L Classpath-Probleme Java Basics - Anfänger-Themen 2
A Classpath im manifest einbinden? Java Basics - Anfänger-Themen 3
GilbertGrape findet jar aus Classpath nicht Java Basics - Anfänger-Themen 4
Z Ant java -classpath befehl Java Basics - Anfänger-Themen 2
G Wo fnde ich den classpath, um dort z.b. eine html abzulegen? Java Basics - Anfänger-Themen 13
G Classpath Problem Java Basics - Anfänger-Themen 4
F Classpath problem Java Basics - Anfänger-Themen 2
G Classpath . zum Xten Mal Java Basics - Anfänger-Themen 16
G Plugins einbinden und Classpath setzen Java Basics - Anfänger-Themen 4
F Classpath: Wichtig für Runnable JAR? Java Basics - Anfänger-Themen 2
G unbound classpath container Java Basics - Anfänger-Themen 1
J Anfänger-Frage zu jar-Files / Manifest.mf / Classpath Java Basics - Anfänger-Themen 16
G Java mit libs und classpath? Java Basics - Anfänger-Themen 5
P JAR erzeugen-CLASSPATH-Probleme Java Basics - Anfänger-Themen 4
S CLASSPATH in Windows Java Basics - Anfänger-Themen 8
G JDBC - Classpath - Ich werd wahnsinnig! Java Basics - Anfänger-Themen 18
N Frage zur Classpath-Variable in der Manifest-Datei Java Basics - Anfänger-Themen 7
S CLASSPATH-Fehler Java Basics - Anfänger-Themen 8
K classpath eintrag funktioniert nicht Java Basics - Anfänger-Themen 8
T [Dringend] Classpath-Problem Java Basics - Anfänger-Themen 3
G Probleme mit JAVA_HOME bzw. classpath Java Basics - Anfänger-Themen 12
W classpath / jar / Programm aus Konsole Starten Problem Java Basics - Anfänger-Themen 2
G Eclipse, FatJar, Export, Classpath Java Basics - Anfänger-Themen 13
M Mal wieder der classpath. Java Basics - Anfänger-Themen 13
C Probleme mit .jar Datei und CLASSPATH Java Basics - Anfänger-Themen 2
G Classpath richtig setzen Java Basics - Anfänger-Themen 4
Q Classpath nach dem Deployen - Manifest-File Java Basics - Anfänger-Themen 4
T kopieren in den classpath Java Basics - Anfänger-Themen 4
F Frage zu Jars und Classpath Java Basics - Anfänger-Themen 2
D classpath setzen Java Basics - Anfänger-Themen 10
G Leidiges Thema Classpath Java Basics - Anfänger-Themen 5
C jar in jar - Classpath? Java Basics - Anfänger-Themen 12
D Applet starten (Classpath ? ) Java Basics - Anfänger-Themen 7
Z Jar-Archiv Classpath Variable Java Basics - Anfänger-Themen 6
L Classpath Java Basics - Anfänger-Themen 4
Q [javac] Zu blöd für -classpath? Java Basics - Anfänger-Themen 2
G Classpath JUnit geht net (?) Java Basics - Anfänger-Themen 11
A classpath zur Laufzeit erweitern Java Basics - Anfänger-Themen 4
H CLASSPATH unter j2sdk1.4.2_10 Java Basics - Anfänger-Themen 2
P Absolute Verzweiflung: Linux + Java + CLASSPATH Java Basics - Anfänger-Themen 8
G Wie muss classpath lauten? Package kompilieren/interpretiere Java Basics - Anfänger-Themen 4
K classpath zum 1001. Mal Java Basics - Anfänger-Themen 11
L Schon wieder ClassLoader bzw. Classpath :-( Java Basics - Anfänger-Themen 3
S classpath Java Basics - Anfänger-Themen 6
A Classpath oder Path? Java Basics - Anfänger-Themen 7
A Umgebungsvariable Classpath Java Basics - Anfänger-Themen 8
C classpath in eclipse Java Basics - Anfänger-Themen 2
G Probleme mit Classpath Java Basics - Anfänger-Themen 4
X Classpath setzen Java Basics - Anfänger-Themen 5
G Problem mit classpath Java Basics - Anfänger-Themen 5
N Packages definieren bzw. zum Classpath hinzufügen Java Basics - Anfänger-Themen 4
G Classpath für Java in Suse 9 setzen Java Basics - Anfänger-Themen 2
R JAR wird nicht gefunden, ist aber im classpath. Java Basics - Anfänger-Themen 12
T Nerv! Packages und Classpath Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben