0

我在 linux 上,我的文件夹结构是

java
  --main
      --Main.java
  --aux
      --pckg
          --Aux.java

源代码

主.java

import pckg.Aux;
public class Main {
    public static void main(String[] args) {
        System.out.println("Main main");
        Aux.method();
    }
    public static void method() {
        System.out.println("Main method");
    }
}

辅助java

package pckg;
public class Aux {
    public static void main(String[] args) {
        System.out.println("Aux main");
        Main.method();
    }    
    public static void method() {
        System.out.println("Aux method");
    }
}

我尝试用命令编译这个文件
(在主目录中)

javac Main.java -classpath .:../aux 

所以我是这样理解的。我需要将类路径设置为“。” 这是我当前的目录(Main.java 所在的位置)和“../aux”,因为 pckg.Aux 类在那里。

但我得到这个错误:

../aux/pckg/Aux.java:6: error: cannot find symbol
Main.method();
^
  symbol:   variable Main
  location: class Aux
1 error

看起来 Main 类不能从 Aux 类中找到。但是主路径在类路径中。那么我在这里错在哪里?

4

1 回答 1

3

这行不通。有关解释,请参阅:如何访问默认包中的 java 类?

于 2013-11-02T15:52:36.333 回答