2009-03-02 247 views

回答

5
export CLASSPATH=/your/stuff/ 

或保存系统范围内的设置:

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

如果你指的是Java类路径 (来自你的标签),那么这只是不同于Windows中的路径分隔符(:而不是;)。例如

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

我不认为你应该在Linux或系统环境变量CLASSPATH中任何其他操作系统。

每个项目都应该有自己的类路径设置。它们通常由脚本或约定来设置,所以不需要系统环境变量。

此外,如果两个项目需要冲突的JAR,你会怎么做?

该环境类路径是否包含计算机上每个项目所需的每个JAR?这不切实际。

classpath环境变量可能是Java 1.0的标准,但我认为它不应该是现在。

+0

可以为每个进程设置一个classpath变量,即仅针对当前shell及其衍生的子进程。这在java启动脚本的unix中很常见。 – ordnungswidrig 2009-03-03 11:46:31

2

创建一个小的shell脚本设置类路径:

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

您可以省略-classpath“$ CLASSPATH”,因为java进程将使用环境变量CLASSPATH anymway的内容。 – ordnungswidrig 2009-03-03 11:47:15