报错情况
代码
public class Tet1Hello{ public static void main (String[] args){ System.out.println("hello,world~"); } }
原因
程序在运行的时候具体是如何确定.class文件位置的呢?
来看看Java解释器的运行过程吧:首先,找出环境变量CLASSPATH(可以通过操作系统来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径(例如,package fruit.Apple就变成为fruit/Apple或fruit/Apple或其他,这将取决于操作系统)。得到的路径会与CLASSPATH中的各个不同的根目录路径相连接以获得一个完整的目录路径,解释器就在这些目录中查找与你所需要的类名称相同的.class文件。(此外,解释器还会去查找某些涉及Java解释器所在位置的标准目录。)
所以在这里吗java寻找的就是classpath+package名
解决方法(修改或者增加环境变量里面的classpath)
我们直接在CLASSPATH环境变量中加入“.”即可。“.”的意思是搜索当前目录
保存从新打开终端(不从新打开的话,配置不生效)
使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析