Java编译器报错:无法找到同包下另一个文件中的类符号,求解决
解决Java编译时找不到同一包下类的问题
问题原因
两个类同属temp包,但编译时未遵循包结构的编译规则,或编译顺序错误,导致编译器无法找到Converter类的定义。
解决方案
1. 按正确顺序编译
进入包含temp文件夹的父目录(不要进入temp文件夹内部),先编译被依赖的Converter.java,再编译TempTable.java:
javac temp/Converter.java javac temp/TempTable.java
也可以一次性编译该包下所有Java文件,自动处理依赖顺序:
javac temp/*.java
2. 指定类路径编译
如果已编译过Converter但仍报错,可通过-cp参数指定类路径为当前目录,让编译器能找到已编译的类文件:
javac -cp . temp/TempTable.java
额外优化
代码中import temp.*;属于冗余语句,同一包下的类默认可直接访问,可删除该语句简化代码。
内容的提问来源于stack exchange,提问作者Mark Ainsworth
相关产品推荐
相关产品推荐

