我把F:\electric book\thinking in java\temp添加到“我的电脑”的环境变量中的path里面。
在F:\electric book\thinking in java\temp\com\bruceeckel\util目录下有一个类AlphabeticComparator.javapackage com.bruceeckel.util;
import java.util.*;public class AlphabeticComparator 
implements Comparator{
  public int compare(Object o1, Object o2) {
    String s1 = (String)o1;
    String s2 = (String)o2;
    return s1.toLowerCase().compareTo(
      s2.toLowerCase());
  }
} ///:~
我只有在F:\electric book\thinking in java\temp目录下java com.bruceeckel.util.AlphabeticComparator才能找到它,在其它目录(比如:F:\electric book\thinking in java\temp\c11目录下java com.bruceeckel.util.AlphabeticComparator就找不到这个class。请问这是怎么回事,那我加不加path不是没有区别了?

解决方案 »

  1.   

    还有,我在c11目录下有个文件DirList.java
    //: c11:DirList.java
    // From 'Thinking in Java, 2nd ed.' by Bruce Eckel
    // www.BruceEckel.com. See copyright notice in CopyRight.txt.
    // Displays directory listing.
    import java.io.*;
    import java.util.*;
    import com.bruceeckel.util.*;public class DirList {
      public static void main(String[] args) {
        File path = new File(".");
        String[] list;
        if(args.length == 0)
          list = path.list();
        else 
          list = path.list(new DirFilter(args[0]));
        Arrays.sort(list,
          new AlphabeticComparator());
        for(int i = 0; i < list.length; i++)
          System.out.println(list[i]);
      }
    }class DirFilter implements FilenameFilter {
      String afn;
      DirFilter(String afn) { this.afn = afn; }
      public boolean accept(File dir, String name) {
        // Strip path information:
        String f = new File(name).getName();
        return f.indexOf(afn) != -1;
      }
    } ///:~
    编译时import com.bruceeckel.util.*;有问题。
      

  2.   

    to javahelper:
    只有path,没有classpath吧?
      

  3.   

    path是为了找javac和java等命令的。当你需要某个类的时候,程序会到classpath里找,如果你的环境变量里没有classpath,你需要新建一个。