1

我的程序由扩展其他类的类组成。问题是,当我尝试在cmd中编译它们时,系统显示“找不到符号”。一些讨论类似问题的站点提到包括 CLASSPATH 中的源文件夹。我按照他们说的做了,但仍然出现同样的错误。但是,它在 Eclipse 中运行顺畅。任何想法为什么?

4

1 回答 1

1

确保首先编译顶级类。如果您尝试编译扩展其他类的类,并且您没有.class为该类编译文件,您将收到该错误。

package pkg1;
class A { }

package pkg2;
import pkg1.A;
class B extends A { }

对于上面的代码,你应该先编译.java包含你的文件class A才能让你的.java文件包含class B编译。此外,在您的类路径中设置包含您class files的路径。

在 Eclipse 中,它之所以有效,是因为它会在您保存类时自动编译它们。

笔记: -

如果您的类在某些包下,请使用以下命令编译您的 java 文件: - javac -d . A.java。这将为包名称创建一个文件夹,并自动将类文件放入该文件夹中。然后你的 B 班就可以找到它

于 2012-10-30T13:02:30.047 回答