java - java CLASSPATH 环境变量上的 Jar 被忽略

标签 java bash classpath

在我的 ~/.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/

相关文章:

file - access to file to files tomcat的conf文件夹下的一个文件

java - 如何在 Spring Boot Maven 项目中移动 application.properties 或执行外部属性

java - 无法在另一台 PC 上运行 JAR 文件。环境变量可能有问题?

java - Eclipse:如何在更改类路径后防止整个项目重建

linux - 从文件中每行读取多个参数并使用 shell 脚本进行算术运算

linux - 在 linux 中真正完成上传后重命名文件

r - 在 WSL 上安装 R devtools 包

java - elasticsearch 启动失败报错

java - Glassfish 3.1.1 类加载器与 jar 文件的顺序

java - 递归地计算 N 的二进制表示形式中 1 的数量。在JAVA中