2016-11-26 35 views
0

我用Java编写并编译了一个简单的Hello World程序,但是当我尝试运行它时,我收到了错误消息Error: Could not find or load main class Hello。直到我执行命令java -cp . Hello才成功运行。classpath不默认当前目录

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

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

打印.,虽然我不得不再次明确设置classpath选项。

有没有人有一个想法,为什么发生这种情况?我正在使用Ubuntu 16.04并打开JDK版本1.8。

回答

1

我预计已经设置了一个CLASSPATH环境变量。运行echo $CLASSPATH以查看它的设置。

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

  • 如果有-cp,指定类路径
  • 不然,如果CLASSPATH在环境设置,指定类路径
  • 否则,请使用默认的类路径“。”用来。
+0

是的,看起来英特尔VTune设置了全局CLASSPATH变量。 –