[JDK]找不到或无法加载主类 java
【转载】http://www.cnblogs.com/seanpasssssss/archive/2013/06/06/3122557.html
问题描述:
编写简单的Hello.java程序,在cmd命令行下用javac Hello.java命令编译没有问题,可以生成Hello.class文件。但输入java Hello命令后(文件目录和命令目录一致),提示错误:“找不到或无法加载主类”。
解决思路:
从网上查找原因和解决方法,有提到环境变量classpath设置问题,但多次尝试问题依旧没有解决。然后使用java -cp %classpath; Hello执行,结果正确。
使用echo %classpath% 或者 set classpath,查看classpath环境变量值,发现只是显示当前用户变量中的classpath值,而不是系统变量中的classpath值。
解决方法1:
将系统变量中的classpath值添加到用户变量中,然后执行java Hello,成功!使用java -cp %classpath; Hello执行,仍正确!
解决方法2:
在系统变量中的classpath值中添加 .; 表示显示当前路劲,如下图;可能需要重启下cmd
![](http://images0.cnblogs.com/blog/503724/201306/06192637-ae509bf43d0945c09647edfa53788b7f.png)
上网查找用户变量与系统变量的区别,用户变量是当前用户使用,你用其它用户登陆,这个环境变量就不起作用了(私有)。而系统变量,是对所有用户都可使用的(公有)。但还不太清楚为什么出现这种情况?