Java编译报错:cannot find symbol class Car问题求助
解决Java带包类编译找不到符号的问题
问题原因
你的代码声明了com.test包,但直接在com/test目录下编译时,javac无法识别包的根路径,导致找不到同包下的Car类。IDEA会自动维护包结构和类路径,所以能正常运行。
正确编译步骤
方法一:从包根目录编译(推荐)
假设你的文件目录结构是:
project/ └── com/ └── test/ ├── Main.java └── Car.java
- 打开控制台,进入
project目录(包的根目录,即com文件夹的上级目录) - 执行编译命令,用
-d参数指定编译后类文件的输出目录(.表示当前目录):javac -d . com/test/*.java - 运行程序:
java com.test.Main
方法二:在com/test目录下编译(指定类路径)
如果已经进入了com/test目录,需要通过-cp参数告诉javac包的根路径(即com文件夹的上级目录):
- 编译
Car.java:javac -cp ../../ Car.java - 编译
Main.java:javac -cp ../../ Main.java - 回到包根目录(
project目录),运行程序:java com.test.Main
也可以一次性编译两个文件:
javac -cp ../../ Main.java Car.java
内容的提问来源于stack exchange,提问作者DartMol21
相关产品推荐
相关产品推荐

