明明有class文件却弹出 ClassNotFoundException

文件目录

$ 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

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

阅读 5k
1 个回答

无法全路径执行,除非路径是包名,而且运行字节码文件无需待上class,如下执行即可:
进入目录:/Users/apple/Desktop/springt/javacTest/src
执行:java Hi

如果有包名:java 包名路径/Hi

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题