从具有循环依赖关系的命令行编译

时间:2012-01-04 13:08:13

标签: java compilation

想象一下,我有两个类(如下所示)。现在假设我正在使用命令行中的javac.exe编译它们。他们不会编译,因为A类需要B类方法存在,反之亦然。有没有任何技巧让他们从命令行编译? (Eclipse可以编译这个没问题!)

我应该添加它们目前都在两个单独的.java文件中。

public class A {
    public void doAWork() { /* A work goes here. */}
    public void doBWork() { new B().doBWork(); }
}
public class B {
    public void doBWork() { /* B work goes here. */}
    public void doAWork() { new A().doAWork(); }
}

1 个答案:

答案 0 :(得分:4)

看起来您的问题在其他地方。

我可以使用以下命令在Java 1.5,1.6和1.7中完美地编译代码:

javac A.java B.java

即使提供单个文件名也能完美运行,因为B.java位于同一目录中:

javac A.java

您确定这两个文件放在适当的目录中吗?