之前安装过jdk,安装另一个版本的jdk,配置环境后出现了找不到或无法加载主类的问题。经过相关资料查询,整理后有如下情况(其实这些情况都不是我遇到的,我遇到的写在最后)。
1.环境变量配置错误。
-如果java和javac指定能够顺利运行,cmd中没有出现无法识别相关指令之类的提示,说明path路径配置正确。
-此时,运行javac后成功生成.class文件,运行java 类名时出现提示找不到或无法加载主类,说明classpath路径错误。
class path是运行时搜索类的路径,包括jdk中的类的路径,即%JAVA_HOME%\lib\tools.jar
、%JAVA_HOME%\lib\dt.jar
和当前路径(当前路径我们用英文的句号.来表示),在环境变量中我们写为.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
(相邻路径用英文的分号隔开)。
2.java文件中出现包名
这种情况将报名注释掉或者删除即可
3.Java类名和文件名不同
修改为相同即可
4.这是我自己遇到的情况(网上还没看到其他人遇到类似的)
-因为我是之前装过jdk的,已经配置过环境变量了,但是我之前配置时看到教程中,classpath是在用户变量中配置的。
-这里我们要区分用户变量和系统变量的区别,用户变量只对当前用户起作用,系统变量对所有用户都起作用,然而对于除了PATH以外的大部分变量,都是用户变量优先级较高(未求证),于是就算你系统变量中的CLASSPATH配置正确,如果存在错误的用户变量,那么你依然无法找到主类,较好的解决方法是,直接删掉用户变量中的classpath(不区分大小写),再正确的配置系统变量中的classpath,完成这些步骤后就可以成功的运行你的.class了。