使用java命令运行class文件提示“错误:找不到或无法加载主类“?
是否修改了CLASSPATH环境变量!?
java命令根据CLASSPATH定义的路径来查找并运行编译后的字节码文件(class文件)。
JDK5后无需特别定义CLASSPATH,其默认值为当前路径,即运行java命令的路径。
修改CLASSPATH后会导致默认值被覆盖,也就不会默认执行当前目录下的class文件。
如果想修改设置classpath路径可以通过以下方式:
- 1.执行java命令时,指定参数 -classpath或-cp。这种方式设置CLASSPATH只对本次执行有效
例如:C:\Users\Raymond>java -cp D:\ Demo
注意:-cp 参数后是指定的CLASSPATH值,即要运行的class文件所在路径(不包含包的路径);然后空格后跟class文件名。
- 2.设置CLASSPATH临时环境变量。这种方式只对当前CMD窗口执行java命令有效
set classpath 或者echo %classpath% 查看CLASSPATH环境变量;
set classpath=D:\ 设置环境CLASSPATH变量
set classpath= 清除CLASSPATH环境变量。
- 3.设置CLASSPATH全局环境变量。对当前系统的所有java命令有效
打开电脑属性-高级设置-系统环境变量-新建->
变量名:CLASSPATH,变量值:class文件路径1;路径2;
注意:
①如果有类有包名,运行时需要指定类的全名:包名+类名
例如:D:\>java -cp D:\ com.raymond.Hello (此时Hello.class保存路径为D:\com\raymond\Hello.class)
②CLASSPATH路径可以同时设置多个,使用分号;隔开。
③修改CLASSPATH导致默认的当前路径被覆盖,可以通过增加路径.来包含当前路径。
例如:set classpath=.;D:\