错误: 找不到或无法加载主类 helloWorld.class 原因: java.lang.ClassNotFoundException: helloWorld.class
可能出现的问题:
- 运行的文件名带了扩展名.class,java运行按类名来查找,不能带扩展名
- 环境配置问题,我的就是因为这个报错,CLASSPATG配置的时候要带上“.;”,表当前目录,不然java直接在JDK的目录找不到class文件,默认设置的JDK的位置,如果不加“.;”,每一次运行都要带上class文件的全路径
- 代码问题
Java的class环境变量配置为什么前面要加.;
在配置Java程序的环境变量时,常常会在CLASSPATH或PATH变量的开头加上 .;。这是因为在Windows系统中,使用分号(;)作为路径分隔符,而点(.)表示当前目录。这样做有几个主要的目的和好处:
- 包含当前目录:
在CLASSPATH中加上 .; 表示Java在加载类时,会首先在当前目录中查找。这对于在当前目录下编译和运行Java程序非常方便。
例如,你的Java程序依赖于当前目录下的类文件或资源文件,加上 .; 可以确保这些文件被正确找到。
-
便于开发和调试:
开发过程中,Java程序经常需要频繁修改和测试。如果CLASSPATH中包含了当前目录,编译和运行新的代码版本会更简便,不需要每次都修改CLASSPATH。 -
避免路径硬编码:
如果你不使用 .;,那么你需要明确指定所有类文件所在的目录。这样做不仅繁琐,而且当目录结构发生变化时,需要频繁更新CLASSPATH。
例如,设置 CLASSPATH 时,可以如下设置:set CLASSPATH=.;C:\myproject\lib\myjarfile.jar
这样,Java会首先在当前目录(由 . 表示)中查找类文件,然后再查找 C:\myproject\lib\myjarfile.jar 中的类文件。
总的来说,在环境变量前面加上 .; 是为了方便程序开发和运行,确保Java程序能够轻松访问当前目录下的文件。
本文作者:小白苏昂
本文链接:https://www.cnblogs.com/littleworldofsuan/p/18348096
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步