的javac:编译它使用其他类中有一个java文件的javac:编译它使用其他类中有一个java文件

2019-05-13 21:31发布

您好我有3个java文件

a.java  
b.java  
c.java  

我设法生成的.class为A和B使用的文件

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

但是当我的c.java做同样的我得到错误错误:找不到符号b和c

我如何能解决这个问题有什么建议?

所有的Java文件都在同一个文件夹

Answer 1:

你必须有类ab在类路径中,当您尝试编译类c 。 这允许编译器来验证它们的存在,找出他们有什么样的方法,等等。

javac是包名和类路径相当敏感。 最容易做的事情是所有三个编译在同一时间,像这样javac example/a.java example/b.java example/c.java

如果你去实例的父目录(姑且称之为src ),那么你可以运行以下命令:

javac -cp src src/example/c.java

你必须做这种方式的原因是因为你的类有自己的包列为example 。 因为你的包名, javac是寻找example在类路径目录下,它希望找到a.classb.class



Answer 2:

想必你不是在example/目录当您运行javac 。 尝试

javac -cp example c.java

或者只是cd到该目录中。 该路径并不自动解决了类c.java 依赖



文章来源: javac : Compiling a .java file which uses other classes in it