忽略java CLASSPATH环境变量上的JAR

忽略java CLASSPATH环境变量上的JAR,java,bash,classpath,Java,Bash,Classpath,在my ~/.bashrc中,我以以下方式导出java类路径: 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

在my ~/.bashrc中,我以以下方式导出java类路径:

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
行中导出新的classpath变量:

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

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

重新读取bashrc文件,您需要
导出
bashrc
行中的新classpath变量:

export CLASSPATH=$CLASSPATH:/home/user/java/libs/apache-ant-1.9.0/lib/*:/home/user/java/MyProject/libs/*
另外,如果编译java的shell是在更改bashrc文件之前创建的,则需要使用
source~/.bashrc
重新读取bashrc文件