账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    明明有class文件却弹出 ClassNotFoundException
    57
    0

    文件目录

    $ pwd
    /Users/apple/Desktop/springt/javacTest
    $ tree
    .
    └── src
        └── com
            └── subject
                └── math
                    ├── Hi.class
                    └── Hi.jav

    Hi,java 文件

    package com.subject.math;
    
     public class Hi{
        public static void main(String args[]){
            System.out.println("hi");
        }
    }

    但是在编译完成后,却出现ClassNotFoundException:

    $ java /Users/apple/Desktop/springt/javacTest/src/Hi.class
    Error: Could not find or load main class .Users.apple.Desktop.springt.javacTest.src.Hi.class
    Caused by: java.lang.ClassNotFoundException: /Users/apple/Desktop/springt/javacTest/src/Hi/class

    为什么编译成功却运行失败?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 久不愈 普通会员 1楼

      ClassNotFoundException通常是由于Java应用程序中没有找到所需类的类路径中所包含的类文件造成的。在Java中,类路径由以下元素组成:

      1. 目录:包括当前工作目录,子目录和任何安装的第三方类库文件。

      2. 用户类路径:用户可以在启动Java应用程序时通过ClasspathEnvironment类中的loadClass方法来加载类路径中的类。

      3. 类路径:这个目录和用户类路径是独立的,应用程序可以在不加载任何其他类的情况下启动。它包含了所有Java应用程序中已加载的类。

      4. 安装类库:如果你在命令行中运行了JAR文件,那么这个JAR文件也包含了包含该类的类文件。如果你在Java应用程序中使用了这个类库,那么你需要确保它已经被正确地添加到类路径中。

      如果你的Java应用程序尝试加载一个不存在的类,那么就会抛出ClassNotFoundException。例如,如果你尝试加载一个名为"com.example.MyClass"的类,而这个类实际上并没有在你的类路径中,那么你就会看到ClassNotFoundException。

      如果你的类文件已经存在于类路径中,但仍然没有被Java应用程序正确地加载,那么你可能需要检查你的类路径设置,确保它包含了你的类文件所在的目录。你也可以检查你的Java应用程序的类路径设置,确保它包含了你的类库文件所在的目录。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部