JAVA杂记——找不到或无法加载主类

这可能是很多新手(像我这样的鶸)学习java时会遇到的问题了,希望能够帮助大家度过这个小坑

  • 遇到这种情况往往是以下两种情况导致的
  • 第一种情况:CLASSPATH配置中各种细节出问题,可能是配置内容中多了空格也可能是最前面没加’.‘,直接按我下面给的路径重新设置一遍吧

CLASSPATH的普遍配置是这样:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

假设你已经配置好了CLASSPATH,但是配置路径中不包括引号中的这个小黑点 ‘.’ (就是上面的普遍配置最前面的那一点),那么当你cmd中想要运行一个class文件比如“javac test.java”后会显示“找不到或无法加载主类”

这个环境变量的这个小黑点,’.‘小黑点起到的作用就是搜索当前路径,即我目前路径为D:\,则搜索这个路径下的test.class文件

  • 第二种情况:没有注意到原java文件有package语句,这种情况下要注意java命令的使用语句以及目录的加载位置

  • 举个栗子:

    我D:目录下的test.java内容是这样的
    JAVA杂记——找不到或无法加载主类
    那么我可以直接在cmd中运行
    JAVA杂记——找不到或无法加载主类

  • 但如果我在文件中添加了package;如下
    JAVA杂记——找不到或无法加载主类

  • 然后我再重新加载class文件后运行它
    JAVA杂记——找不到或无法加载主类

  • 这种情况下,我们在D盘建立一个com文件夹,然后将test.class放入该文件夹中,然后运行java命令时,要在类名前加包名,并且位于com文件夹的父目录
    JAVA杂记——找不到或无法加载主类
    如上图一开始的“java com.test”这样的命令是正确,如果我载入到com文件夹下再使用“java com.test”则会显示错误,或者载入到com文件夹下直接使用“java test”命令也是错误的

  • 以上归纳的两种错误情况,如有错误还请各位大佬指点