Always keep a beginner's m|

BTTBeaver

园龄:3年3个月粉丝:0关注:0

错误: 找不到或无法加载主类 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 中国大陆许可协议进行许可。

posted @   BTTBeaver  阅读(143)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起