You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java同目录调用自定义类编译报cannot find symbol错误怎么解决

报错原因

Java 11及以上版本支持的单文件直接运行命令java xxx.java仅会编译当前指定的单个源文件,不会自动编译同目录下依赖的Programmer.java文件,因此无法识别Programmer类符号。
此外Java对文件名大小写敏感,你执行命令时写的java main.java需要和实际文件名Main.java大小写保持一致。

解决方案

方案1:先批量编译所有源文件再运行(推荐)

  1. 执行编译命令,编译当前目录下所有Java源文件:
javac *.java
  1. 编译完成后执行主类即可:
java Main

方案2:运行时显式指定所有关联的源文件

直接执行如下命令即可正常运行:

java Main.java Programmer.java

补充说明

如果两个Java文件顶部声明了自定义包名,需要保证编译后的.class文件目录结构和包名层级完全匹配,运行时需要写全限定类名(包名.类名)执行。

内容的提问来源于stack exchange,提问作者Zakariae Lajoui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:36:03