~/.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 は正しいパスを返します。
それでもこのエラーが発生するのはなぜですか?