java报错: 找不到或无法加载主类
- 源程序:
public class Demo{
public static void main(String args[]){
System.out.println("HelloWorld");
}
}
- 通常情况下,在用本机进行编译运行java程序时有两种方法
- 1.使用编译器自带的jdk进行编译
- 2.使用本机上自行配制的jdk进行编译
- 而有时候在编译器上运行java程序能够运行的时候,换到自行配制的jdk进行编译运行时,就会报错。如下图:
这种情况的报错不是语法上的错误,而是,环境变量配置上的问题。
一遍情况下,都是ClassPath处出的问题:
查看一下ClassPath处的值:
发现,变量值前面少了一个 .;
将变量值修改为:
> .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
进行保存
之后,在原来的可执行窗口中重新运行命令 java Demo
仍然报错,这是由于环境变量还未生效,需要重新打开一个cmd可执行窗口,
重新打开一个cmd窗口对源程序重新编译运行
成功。
补充:
如果仍报错,可能是因为Java 代码中带有了package 信息;对应的解决办法有两个:
- 1 删除package 信息,重新编译运行。
- 2 进入package 的上一级路径进行执行。
# 例如package :com.snowlive 时, $:pwd /src/main/java/com/snowlive $:cd ../../ $:pwd /src/main/java # 此时在执行 java 命令便不会报错了。 $:java com.snowlive.Demo