源码如下
  package testjava.com;
import  com.chlm.Cat;
public class Dog {
  public static void main(String args []) {
      Cat c = new Cat();
  }
}
编译时出现如下
  D:\testjava\com>javac Dog.java
Dog.java:2: 软件包 com.chlm 不存在
import  com.chlm.Cat;
                ^
Dog.java:5: 找不到符号
符号: 类 Cat
位置: 类 testjava.com.Dog
      Cat c = new Cat();
      ^
Dog.java:5: 找不到符号
符号: 类 Cat
位置: 类 testjava.com.Dog
      Cat c = new Cat();
                  ^
Cat这个类在它的文件夹里我已经成功编译且运行,但在上面这里却出现找不到!以下是我的环境变量设置
.D:\testjava\com\chlm;.
弄了很久还是找不到问题所在。

解决方案 »

  1.   

    C:\java_test>javac com/chlm/Cat.javaC:\java_test>javac testjava/com/Dog.java
      

  2.   

    我用javac时遇到类似错误,是把package去掉就可以了,你可以试试
      

  3.   

    我认为楼主的问题是根据classpath找不到Cat这个类。
    环境变量加一下:
    d:\testjava;
    (在指定路径时,不需要把包结构加上,根据楼主的信息,我猜测楼主的Cat这个类在d:\testjava\com\chlm下。
    而com\chlm与包 com.chlm结构对应。按上面设置环境变量,系统会在d:\testjava下查找com\chlm\Cat这个类。而如果在环境变量里指定 d:\testjava\com\chlm; 则系统会在d:\testjava\com\chlm下查找com\chlm\Cat,就找不到了。
    不知说的是否清楚,供参考.
      

  4.   

    Cat这个类在它的文件夹里我已经成功编译且运行,但在上面这里却出现找不到!以下是我的环境变量设置
    .D:\testjava\com\chlm;上面的环境变量设置不清晰。建议改一下:
    .;d:\testjava;d:\testjava\com\chlm;                 (注意"."后边的分号";"最后这个路径“d:\testjava\com\chlm; ”应该没什么用,不加也行).