12

嗨,我有 3 个 java 文件

a.java  
b.java  
c.java  

我设法为 a 和 b 生成 .class 文件使用

javac example/a.java  
javac example/b.java  

但是当我对 c.java 执行相同操作时,我收到错误错误:找不到符号 b 和 c

关于如何解决这个问题的任何建议?

所有java文件都在同一个文件夹中

4

2 回答 2

20

当您尝试编译 class 时,您必须拥有类a和类路径。这允许编译器验证它们是否存在,找出它们有什么方法,等等。bc

javac对包名和类路径非常敏感。最简单的做法是像这样同时编译所有三个javac example/a.java example/b.java example/c.java

如果您转到 example 的父目录(我们称之为它src),那么您可以运行以下命令:

javac -cp src src/example/c.java

您必须这样做的原因是因为您的类将它们的包列为example. 由于您的包名称,javac正在寻找example其类路径中的目录,它希望在其中找到a.classb.class.

于 2012-05-07T00:43:27.823 回答
2

大概你在example/运行时不在目录中javac。尝试

javac -cp example c.java

或者只是cd进入该目录。c.java 对于所依赖的类,类路径不会自动解析。

于 2012-05-07T00:41:58.897 回答