在另一个内编译类时编译错误

时间:2009-10-14 17:27:10

标签: java compiler-construction

我有两个类Hello1和Hello,我在Hello类中调用类Hello1构造函数,但是当我尝试使用命令编译Hello类时

javac Hello.java

我收到编译时错误:

Hello.java:6:cannot find the symbol
symbol: class Hello1
location: class Hello
Hello1=new Hello();
^
Hello.java:6:cannot find the symbol
symbol: class Hello1
location: class Hello
Hello1=new Hello();
           ^

但是当我尝试用命令编译编译类时:

javac Hello.java Hello1.java

它工作正常,但为什么我每次都必须使用这个命令来编译类?为什么编译器不能使用已编译的.class Hello1文件,以便下次使用命令javac Hello.java。

2 个答案:

答案 0 :(得分:1)

您需要将当前目录添加到类路径中,以便编译器可以找到它。默认情况下,类路径不包含当前工作目录,因此编译器将看不到任何已编译的.class文件。为此,请按以下方式编译:

javac Hello.java -cp .

答案 1 :(得分:1)

您需要使用-cp设置classPath。