C:\access 下有文件 Dinner.java//: access/Dinner.java
// Uses the library.
import access.dessert.*;public class Dinner {
  public static void main(String[] args) {
    Cookie x = new Cookie();
    //! x.bite(); // Can't access
  }
} /* Output:
Cookie constructor
*///:~C:\access\dessert 下有文件 Cookie.java//: access/dessert/Cookie.java
// Creates a library.
package access.dessert;public class Cookie {
  public Cookie() {
   System.out.println("Cookie constructor");
  }
  void bite() { System.out.println("bite"); }} ///:~
环境变量设置.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;C:\access\dessert为啥编译老是不对?书上的代码复制下来试试的。

解决方案 »

  1.   

    你要先编译Cookie.java
    编译Dinner.java要用到Cookie这个类,Cookie的path是C:\ 
      

  2.   

    JAVA_HOME有那么复杂么...
    直接就是你JDK的目录啊  C:\Java\jdk1.5.0_06\bin这个帖子讲得比较清楚
    http://www.sunxin.org/sunxin/003.asp设置好了在CMD里  敲个java -version看看能不能看出正确的JDK版本
      

  3.   

    可以看见JDK的版本的。我也先编译了Cookie.java。编译了一直说错误。Dinner.java:3:软件包 access.dessert 不存在
    import access.dessert.*;Dinner.java:7:无法访问 Cookie
    错误的类文件: c:\access\dessert\Cookie.class
    类文件包含错误的类:access.dessert.Cookie
    请删除该文件或确保该文件位于正确的类路径子目录中。
    Cookie x = new Cookie();
    ^2错误怎么解决,代码看看没啥问题。
      

  4.   

    如果手工编译
    你可以把package的信息去掉
    然后把import去掉
    就可以把java和class放到相同的一个目录来进行javac了后面再可以用esclipse或者ant之类的来竟副辅助编译
      

  5.   

    书上抄下来的?那么随书的光盘里找找Cookie.class,然后放到c:\access\dessert\下
      

  6.   

     是不是,CLASSPATH 设置成 C:盘根目录啊,你试试看
      

  7.   

    我知道了,试了试在
    C:\access\dessert 下有文件 Cookie.java //: access/dessert/Cookie.java 
    // Creates a library. 
    package access.dessert; public class Cookie { 
      public Cookie() { 
      System.out.println("Cookie constructor"); 
      } 
      void bite() { System.out.println("bite"); } } ///:~ bite方法改成protected就OK了。呵呵。
      

  8.   

     Dinner 为什么没有包名access,也就是少了如下这句
    package access;
    环境变量设置的不对,正确的是:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;C:\然后在c:根目录下,与运行你的编译命令即可