【问题标题】:Jars on the java CLASSPATH environment variable are ignoredjava CLASSPATH 环境变量上的 jar 被忽略
【发布时间】:2013-04-09 15:34:52
【问题描述】:

在我的 ~/.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 也会返回正确的路径。

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

【问题讨论】:

    标签: java bash classpath


    【解决方案1】:

    您需要 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 重新读取 bashrc 文件。

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 2021-08-05
      • 2012-09-05
      • 1970-01-01
      • 2011-04-08
      • 2019-03-03
      相关资源
      最近更新 更多