0%

Java 找不到或无法加载主类XXX终极解决方案

起因

今天突发奇想用命令行运行Java文件, 但惊喜的发现出现了找不到或无法加载主类这个错误, 这个错误以前也遇到过, 便轻车熟路的改了, 发现在确认完文件名, 类名, CLASSPATH, 临时环境变量等所有可能的因素后,依然报这个错, 好歹也是搞过好几年Java的人了,不能在这跌跟头, 经过一方折腾后, 但是结果又让人欲哭无泪…

解决方案:

配置错误

入门就遇到这样的问题,环境变量按网上说的配好了,直接java 和 javac都有提示出来,说明没问题了,

​ 主要是以下两点要注意:

  1. 在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。
  2. 更为重要的是,在cmd下运行javac 和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不 会提示找不到了。这个cmd运行路径由于一般不太注意,输入cmd就会直接到c:\个人文件夹下,而一般的java文件会用其它软件编写,放在选定的路径 下,这两个路径很少能主动重合,一运行当然找不到了,但是javac能认到,不知为什么java就提示找不到?这点有点奇怪。网上各种解决方法里很少注意 到其实就是这个小问题造成的找不到类,都想当然的以为是在java源文件路径下运行java,那当然就找不到基本问题所在了。

​ 如果1、2都做了还是没变化,那就是该计算机改了环境变量后需要重新启动下让新的设置生效,重启下即可

以上解决方案转自 javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题

语法错误

语法错误分两种:

  1. 文件名与主类名不相同

  2. package 包不存在

    第二种错误很容易忽视.在这踩个坑 (笔者就是因为将IDEA中的文件直接考出来才…….,一切尽在不言中, 你们可能很难想象在半夜12点数次装Java配环境变量的紧张与刺激!)​