# In welcher Datei wird classpath gesetzt?



## ernst (17. Nov 2007)

Hallo allerseits,
in welchen oder welcher Datei(en) wird eigentlich die Umgebungsvariable classpath (bestimmt wo packages gesucht werden) unter Windows XP gesetzt?
In der autoexec.bat habe ich nichts gefunden.

mfg
Ernst


----------



## Tobias (17. Nov 2007)

Systemsteuerung->System->Erweitert->Umgebungsvariablen

mpG
Tobias


----------



## ernst (17. Nov 2007)

Tobias hat gesagt.:
			
		

> Systemsteuerung->System->Erweitert->Umgebungsvariablen
> 
> mpG
> Tobias


------------------------
Danke für den Hinweis.
Aber dort gibt es keine Systemvariable (oder Benutzervariable) classpath

mfg
Ernst


----------



## möbi (17. Nov 2007)

Das hier sollte dir weiterhelfen  :###


----------



## Tobias (17. Nov 2007)

Ne, aber wenn du unbedingt willst, kannst du dir da eine anlegen.

mpG
Tobias


----------



## ernst (17. Nov 2007)

möbi hat gesagt.:
			
		

> Das hier sollte dir weiterhelfen  :###


------------------------------
Kannst du konkreter werden?

mfg
Ernst


----------



## maki (17. Nov 2007)

http://java.sun.com/docs/books/tutorial/essential/environment/paths.html

autoexec.bat ist soooooo 1990er...


----------



## ernst (17. Nov 2007)

maki hat gesagt.:
			
		

> http://java.sun.com/docs/books/tutorial/essential/environment/paths.html
> 
> autoexec.bat ist soooooo 1990er...


--------------------------------------------------
Danke für den Link. 
1) So wie ich die Beschreibung auf dieser Website verstanden habe, wird empfohlen, auf das Setzen einer CLASSPATH Umgebungsvariablen zu verzichten (auf meinem Rechner gibt es z.B. diese Umgebungsvariable CLASSPATH  auch nicht) und das Setzen des classpath für das jeweilige Java-Programm (das man compilieren will) mit dem Schalter cp in javac zu machen.
Ist das richtig?

2)
In Eclipse kann man den Schalter cp von javac setzen mit:
Properties --- Java Build Path --- Order and Export
Ist das richtig?

mfg
Ernst


----------



## maki (17. Nov 2007)

1) Ja das ist richtig
2) Ja, aber eher der "Buildpath" ist wichtig für das Kompilieren, da kannts du dann jars die du verwendest einbinden, sonst gibt es Fehler bei der Übersetzung. Zur Laufzeit müssen die jars dann wieder in den calsspath, am besten per cp.


----------



## ernst (18. Nov 2007)

maki hat gesagt.:
			
		

> 1) Ja das ist richtig
> 2) Ja, aber eher der "Buildpath" ist wichtig für das Kompilieren, da kannts du dann jars die du verwendest einbinden, sonst gibt es Fehler bei der Übersetzung. Zur Laufzeit müssen die jars dann wieder in den calsspath, am besten per cp.


-------------------------------------------------
1)
Wo finde ich den Buildpath, wo ich den classpath setzen kann?
Ich finde nur unter: 
Project --- Properties --- Java Build Path --- Order and Export 
bzw.
Project --- Properties --- Java Build Path --- Source 
was entsprechendes (siehe mein demo-Programm unten)

2) Habe in Eclipse ein demo-Programm geschrieben mit dem Namen
MainEingabeDouble1.java
Da importiere ich:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

Unter 
Project --- Properties --- Java Build Path --- Order and Export 
bzw.
Project --- Properties --- Java Build Path --- Source 
steht dann 
MainEingabeDouble1/src

Frage1:
Wie findet der Compiler dann z.B, die zu importierende Datei:
java.io.BufferedReader;
wenn der Ausgangspunkt (Startverzeichnis) bei 
MainEingabeDouble1/src
beginnt? Das ist mir völlig unklar.

Frage2:
Sucht der Compiler die zu importierende Datei
java.io.BufferedReader.java 
oder
java.io.BufferedReader.class


2)
Das Setzen des classpath für das jeweilige Java-Programm (das man compilieren will) soll man mit dem Schalter cp in javac machen.
Angenommen, die Umgebungsvariablen CLASSPATH existiert.
Wo sucht der Compiler dann nach einer zu importierenden Datei: in der Umgebungsvariablen CLASSPATH oder in dem Verzeichnis das mit Hilfe von cp angegeben wird. Ich vermute das, das mit cp angegeben wird. Ist das richtig?

mfg
Ernst


----------

