背景介绍:
下面是我的第一个Java程序:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
在cmd下面运行时输入javac HelloWorld.java
,没有报错,并且同目录下面也出现了HelloWorld.class
文件,当运行java HelloWorld
时,出现了报错:
错误: 找不到或无法加载主类 HelloWorld
原因: java.lang.ClassNotFoundException:
寻找解决办法
首先检查环境变量是否正确
我的JDK版本为jdk-11
,并且已经正确配置了环境变量JAVA_HOME
与CLASSPATH
,可以确定系统环境变量是没有问题的(请注意这里说的是“系统环境变量没有问题”)。
其次苦苦摸索
经过一顿网上搜索,别人的解决办法都不试用我这个报错,重装了jdk-11
后也还是报相同的错,经过仔细思考,发现我之前安装了jdk-8
,在安装jdk11
之前就把jdk8
写在了,会不会是jdk-8
的环境变量在搞怪?
然后又多次看了WIN10的系统环境变量,并没有任何问题,这时我瞅到了系统环境变量上面的用户变量!上面放着一个JAVA_HOME
和CLASSPATH
,路径就是之前jdk-8
的路径!!!
把用户变量里面的JAVA_HOME
和CLASSPATH
删掉后就可以正常运行程序了!!!
总结
没事别动用户变量!!!
不懂的时候多搜索,别乱动电脑里的东西!!!