在我的 ~/.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 也会返回正确的路径。
为什么我仍然会收到此错误?
最佳答案
您需要在 bashrc
行中export
新的类路径变量:
export CLASSPATH=$CLASSPATH:/home/user/java/libs/apache-ant-1.9.0/lib/*:/home/user/java/MyProject/libs/*
此外,如果您在其中编译 java 的 shell 是在您更改 bashrc 文件之前创建的,您将需要使用 source ~/.bashrc
重新读取 bashrc 文件。
关于java - java CLASSPATH 环境变量上的 Jar 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906233/