最近自学Java,刚刚开始就遇到了一个棘手的问题,折磨了我两天,配置好Java环境变量后,在cmd 输入命令javac
他是没有问题的,随后开始编写java脚本,写了一个简单的脚本,
public class Hello {
public static void main(String[]args){
system.out.println('hello');
}
}
然后开始执行 javac Nihao.java
我看到了在文件中生成了Nihao.class文件,我有点好奇这个class文件里装的是什么,于是我就试着打开,但是并没有相应的打开方式,那就用记事本打开吧,看看有什么,结果乱码。。。
然后图标就变成记事本了。。。
再然后我就开始要输出这个java脚本了,于是我继续:
C:\>java Hello
然后就冒出了这个玩意:
刚开始我以为是因为Hello.class文件的图标变成了记事本的样子,打开方式变了,于是问度娘,找了好多答案,但是不管怎么试那个图标就变不回来的,我卸载重装了jdk也没卵用。
后来经过千辛万苦,我终于找到了答案。。。。那个.class文件是要通过环境 变量classpath才能实现的,初始设置classpath环境变量的时候添加了
%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
运行java Hello的结果就是‘找不到Hello’这个class文件,因为前面少了“.;”当前目录,程序运行时不能访问当前class目录,就出现了上面的问题,正确的classpath设置:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
那个点真心好恶心。。。。