classpath不默认为当前目录

时间:2016-11-26 14:10:20

标签: java

我用Java编写并编译了一个简单的Hello World程序但是当我尝试运行它时,我遇到了错误消息Error: Could not find or load main class Hello。只有在我执行命令java -cp . Hello之后才成功运行。

奇怪的是,当前目录似乎已成为类路径的一部分。脚本

class CheckClassPath{
    public static void main(String args[]){
        System.out.println(System.getProperty("java.class.path"));
    }
}

打印.,但我必须再次明确设置classpath选项。

有谁知道为什么会这样?我使用的是Ubuntu 16.04和open-JDK 1.8版。

1 个答案:

答案 0 :(得分:1)

我希望设置了CLASSPATH个环境变量。运行echo $CLASSPATH以查看其设置的内容。

如果您不使用-jar选项,则:

  • 如果有-cp,则指定类路径
  • 否则,如果在环境中设置CLASSPATH,则指定类路径
  • 否则默认类路径为“。”使用。