直接执行javac编译后的程序报错

 
[root@iZ28rzehqfcZ yeerdni_week1]# javac TestSerialize.java
[root@iZ28rzehqfcZ yeerdni_week1]# ll
total 8
-rw-r--r-- 1 root root 2072 Mar 26 13:23 TestSerialize.class
-rw-r--r-- 1 root root 1446 Mar 26 12:55 TestSerialize.java
 
然后执行
[root@iZ28rzehqfcZ yeerdni_week1]# java cn.yeerdni_week1.TestSerialize

报了个错误
Error: Could not find or load main class cn.yeerdni_week1.TestSerialize

fish - Hadooper

赞同来自: yeerdni

java的class放置的位置(目录结构),需要与类的包名向匹配。 比如你这的cn.yeerdni_week1.TestSerialize,TestSerialize.class需要放在cn/yeerdni_week1这个目录下。 整个cn目录,放置在java classpath找得到的地方。

wangxiaolei

赞同来自: yeerdni

加包名,就不能在当前路径下执行。要从目录cn的上一级目录执行命令java cn/yeerdni_week1/TestSerialize 不加包名,默认没有就是当前路径,所以可以直接运行命令java TestSerialize

要回复问题请先登录注册