我的clsspath设置为:C:\Program Files\Java\jre1.5.0_07\lib
我将那个类放在那里,可javac时总找不到,该放在哪里呢?

解决方案 »

  1.   

    请用jbuilder, eclipse, jdeveloper随便哪一款~ 
    否则路径问题真的急死人~
      

  2.   

    classpath=C:\Program Files\Java\jre1.5.0_07\lib\tools.jar;C:\Program Files\Java\jre1.5.0_07\lib\dt.jar;.classpath的设定中,分号的最后还有一个点".",你试试看看
      

  3.   

    如果你的类是以 .jar 的形式放在硬盘上,那就要让你的 CLASSPATH 指向这个 .jar 文件;如果你的类是以 .class 的形式放在硬盘上,那就要让你的 CLASSPATH 指向一个文件夹,然后从这个文件夹向下,按照包路径设置子文件夹,最后能看到你的 .class 文件。楼主说“我的clsspath设置为:C:\Program Files\Java\jre1.5.0_07\lib”,其实这是一个很怪异的情形,一般 lib 下面放的都是一些 .jar 文件,你的这个 CLASSPATH 完全没有用。除非你真的把 .class 文件按照包路径放在“C:\Program Files\Java\jre1.5.0_07\lib”下面的子文件夹中。
      

  4.   

    你得先用jar命令,把你的.class文件做成.jar文件,然后,放到该放的地方,就应该可以用了。
    书上有介绍,我没记清楚,我只是给你提示一下,呵呵。
      

  5.   

    ext 目录下jre\lib\ext下是运行库,放在这个目录下,就没问题,他由系统ClassLoader加载
      

  6.   

    我的那个类放在了调用此类的类所在的文件夹里,为何还不能调用?请大家指点!谢谢!!
    注:我的classpath已按大家说的那样更改了。
      

  7.   

    把你的目录结构拿出来,还有classpath,另外你是如何调用的也说一下,不然都不知道怎么帮你
      

  8.   

    环境:
    windowsxpsp2+jdk1.5.7(sun)
    classpath:
    C:\Program Files\Java\jre1.5.0_07\lib;C:\Program Files\Java\jre1.5.0_07\lib\tools.jar;C:\Program Files\Java\jre1.5.0_07\lib\dt.jar;C:\Program Files\Java\jre1.5.0_07\lib\tools.jar;C:\Program Files\Java\jre1.5.0_07\lib\rt.jar;.
    目录结构:
    保存在:"E:\onetwothree"下。
    系统提示:
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\ccyjava.MY-TOMATO>e:E:\>cd onetwothreeE:\onetwothree>javac Reader.javaE:\onetwothree>javac Ott.java
    Ott.java:22: 找不到符号
    符号: 变量 Reader
    位置: 类 onetwothree.Ott
                    int a = Reader.getint();
                            ^
    1 错误E:\onetwothree>
    文件具体内容:
    //Reader.java
    package onetwothree;
    import java.io.*;
    public class Reader  {
    public static int getint()throws java.io.IOException{

    String we = getString();
    Integer me = Integer.valueOf(we);
    int a = me.intValue();
    return a; 
    }
    public static double getdouble()throws java.io.IOException{
         
            String we = getString();
    Double me = Double.valueOf(we);
    double a = me.doubleValue();
    return a;
    }
    public static String getString()throws java.io.IOException{
        BufferedReader io = new BufferedReader(new InputStreamReader(System.in));
        String we = io.readLine();
    return we;
    }
    }
    //Ott.java
    package onetwothree;
    class Ott {
    static int stone=21;
    static int winner=0;//this is kozi,0 means winner is PRO. 
    public static void main(String[] args)throws java.io.IOException{
      System.out.println("In the table,it has twenty-one stone.you can take up one,two or three stone.");
      System.out.println("The PRO is also,who take the last one,who win!");
      while(stone != 0){
       change_user();
       if(stone != 0){
       change_pro();
       }
      }
      if(winner == 0){
       System.out.println("The PRO is win!!!!!");
      }
      else{
       System.out.println("You win!!!!!,congrotelation to you!");
      }
    }
    static void change_user()throws java.io.IOException{
    int a = Reader.getint();
    if(a>3||a<=0){
    change_user();
    }else{

    if((stone - a)>=0){
      stone = stone - a;
      System.out.println("you take up:"+a);
      if(stone == 0){
      winner=1;
      }
    }
    else{
      change_user();
    }
    }
    }
    static void change_pro(){
    int a = stone % 4;
    if (a==0){
    int k =(int)((Math.random())*10);
    if(k<=4&&k>=0){
    a=1;
    }
     else{
     if(k>4&&k<=7){
      a=2;
     }
      else{
      a=3;
      }
    }
    stone = stone - a;
    System.out.println("The PRO take up:"+a);
    System.out.println("The stone is have:"+stone);
    }
    }
    }
    情景画面:
    http://cn.pg.photos.yahoo.com/ph/csdnforever/detail?.dir=239c&.dnm=7b28cnb.jpg&.src=ph
    id:csdnforever
    password:csdncsdn
      

  9.   

    这样编译吧:
    javac -d . Reader.java;
    javac -d . Ott.java;执行:
    java onetwothree.Ott
      

  10.   

    在classpath环境变量里面,把存放你自己类的路径添加进去就行了····
    JAVA会按照classpath里面设置的路径一个一个帮你找的··(记住用“;”)隔开。。
      

  11.   

    首先谢谢大家热心的帮助!
      我用huihui0103() 提供的方法终于成功了,我用javac -cp . Ott.java或javac -cp E:\ Ott.java都成功了。
      但是,为何直接用javac 不成功呢?它默认就是先在classpath后在所在的文件夹里找
    类呀,为何还要指定途径?
      

  12.   

    重新设置classpath后,记得要重新启动命令。没忘记吧?
      

  13.   

    我终于明白了,javac找类是在文件夹里找包,然后在包里找类
    我试着javac Reader.java后建了一个:"onetwothree" 文件夹,将Reader.class放进去,再javac
     Ott.java 成功了!!谢谢大家,终于明白了!谢谢!谢谢!谢谢谢谢!马上要结贴了,给分了!!!
      

  14.   

    汗···有包啊··还以为就直接是CLASS文件····恭喜楼主拉··呵呵··