2009-03-02 26 views

Antwort

5
export CLASSPATH=/your/stuff/ 

oder Konservieren systemweite Einstellungen:

export CLASSPATH=$CLASSPATH:/your/addition/ 
3

Wenn Sie meinen, die Java Classpath (von Ihrem Tag), dann ist das nur anders Windows in Form von Pfad-Trennzeichen (: statt;). Zum Beispiel:

2

Ich glaube nicht, dass Sie eine Systemklassenpfad-Umgebungsvariable unter Linux oder einem anderen Betriebssystem haben sollten.

Jedes Projekt sollte seine eigenen Klassenpfadeinstellungen haben. Sie werden normalerweise durch Skripts oder Konventionen festgelegt, sodass keine Systemumgebungsvariable benötigt wird.

Außerdem, was würden Sie tun, wenn zwei Projekte widersprüchliche JARs benötigt würden?

Umfasst dieser Umgebungsklassenpfad jedes JAR, das von jedem Projekt auf Ihrem Computer benötigt wird? Das ist nicht praktisch.

Eine Klassenpfad-Umgebungsvariable könnte der Standard mit Java 1.0 gewesen sein, aber ich denke nicht, dass es jetzt sein sollte.

+0

Eine Klassenpfadvariable kann pro Prozess festgelegt werden, d. H. Nur für die aktuelle Shell und ihre untergeordneten untergeordneten Prozesse. Dies wird häufig in Java-Startskripten unter UNIX verwendet. – ordnungswidrig

2

ein kleines Shell-Skript erstellen, die den Classpath setzt:

#!/bin/bash 
export JAVA_HOME=... 

cp=$(find lib -name "*.jar" -exec printf :{} ';') 
if [[ -n "$CLASSPATH" ]]; then 
    cp="$cp;CLASSPATH" 
fi 

"$JAVA_HOME/bin/java" -classpath "$cp" ... 
+0

Sie können -classpath "$ CLASSPATH" weglassen, da der Java-Prozess den Inhalt der Umgebungsvariablen CLASSPATH anymway verwendet. – ordnungswidrig

+0

Ich habe mein Beispiel erweitert, um den Klassenpfad zu erstellen. Jetzt wird der CLASSPATH-Wert allein gelassen, damit untergeordnete Prozesse die ursprüngliche Version abrufen können. –

Verwandte Themen