2009-03-02 8 views

Répondre

5
export CLASSPATH=/your/stuff/ 

ou préserver les paramètres larges du système:

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

Si vous voulez parler de la Java classpath (à partir de votre tag), alors c'est seulement différent de Windows en termes de séparateurs de chemins (: au lieu de.). Par exemple

java -classpath /mydir/mylib.jar:/otherdir/otherlib.jar com.MyProgram -Xmx64m 
2

Je ne pense pas que vous devriez avoir une variable d'environnement système classpath sur Linux ou tout autre système d'exploitation.

Chaque projet doit avoir ses propres paramètres de chemin de classe. Ils sont généralement définis par des scripts ou des conventions, il n'est donc pas nécessaire d'avoir une variable d'environnement système. En outre, que feriez-vous si deux projets avaient des JAR conflictuels requis?

Est-ce que ce chemin d'accès aux classes d'environnement inclura chaque fichier JAR requis par chaque projet sur votre machine? Ce n'est pas pratique.

Une variable d'environnement de classe de chemin pourrait avoir été la norme avec Java 1.0, mais je ne pense pas que ce devrait être maintenant.

+0

Une variable de chemin de classe peut être définie par processus, c'est-à-dire pour le shell en cours et ses processus fils générés uniquement. C'est un usage courant sur unix dans les scripts de démarrage Java. – ordnungswidrig

2

Créer un petit script shell qui définit le chemin de classe:

#!/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

Vous pouvez omettre -classpath "$ CLASSPATH" car le processus Java utilisera le contenu de la variable d'environnement CLASSPATH anymway. – ordnungswidrig

+0

J'ai étendu mon exemple pour construire le classpath; il laisse maintenant le CLASSPATH seul pour que les processus enfants puissent récupérer la version originale. –

Questions connexes