java正确理解classpath

时间:2013-11-02 15:44:36

标签: java classpath

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

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

源代码

Main.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");
    }
}

Aux.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 

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

但是我收到了这个错误:

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

看起来无法在Aux类中找到Main类。但是main的路径在classpath中。那我在哪里错了?

1 个答案:

答案 0 :(得分:3)

这不起作用。有关说明,请参阅:How to access java-classes in the default-package?