1

在我的 ~/.bashrc 中,我通过以下方式导出我的 java CLASSPATH:

CLASSPATH=$CLASSPATH:/home/user/java/libs/apache-ant-1.9.0/lib/*:/home/user/java/MyProject/libs/*

文件夹“/home/user/java/MyProject/libs/”包含以下 jar:

colt.jar    mysql-connector-java-5.1.22-bin.jar
concurrent.jar  postgresql-8.4-703.jdbc4.jar

当我尝试编译一个导入 colt.jar 部分的项目类时,我收到一条错误消息:

/src$ javac visualization/VisualizeCorrelationMatrix.java 
visualization/VisualizeCorrelationMatrix.java:16: cannot access cern.colt.matrix.impl.SparseDoubleMatrix2D
class file for cern.colt.matrix.impl.SparseDoubleMatrix2D not found
        int N = cm.columns();
                  ^

但是当按照以下方式编译它时,它可以正常工作:

/src$ javac -cp ".:/home/user/java/MyProject/libs/*" visualization/VisualizeCorrelationMatrix.java

我检查了 CLASSPATH 变量和 manuel optino -cp 中的路径是否 100% 相同。echo $CLASSPATH 也返回正确的路径。

为什么我仍然会收到此错误?

4

1 回答 1

6

您需要export在您的行中添加新的类路径变量bashrc

export CLASSPATH=$CLASSPATH:/home/user/java/libs/apache-ant-1.9.0/lib/*:/home/user/java/MyProject/libs/*

此外,如果您正在编译 java 的 shell 是在您更改 bashrc 文件之前创建的,那么您需要使用source ~/.bashrc.

于 2013-04-09T15:46:37.617 回答