其实你编译完两个文件之后,你会在D:\发现两个文件夹mypack和mytestpack.当你在mytestpack文件夹中执行命令时,他会在当前目录下搜寻mypack文件夹,当然就找不到了.
------------------------
根据你的例子,你把D:\作为你的java程序存放点.在设置classpath时你是设置的"."--当前目录.再加上"D:\"试试.

解决方案 »

  1.   

    带包的编译就是这样的。
    javac -d 包的父目录 文件名.java
    java   包的父目录.文件名
      

  2.   

    java   包名.文件名
      

  3.   

    我也遇到了同样的问题,但是我在编译Test.java时:
    E:\Java_Exe>javac Test.java
    Test.java:4: 不能解析符号
    符号:类 A
    位置:包 in mypack
    import mypack.A;
                  ^
    Test.java:10: 不能解析符号
    符号:类 A
    位置:类 in mytestpack.Test
                    A hello = new A();
                    ^
    Test.java:10: 不能解析符号
    符号:类 A
    位置:类 in mytestpack.Test
                    A hello = new A();
                                  ^
    3 个错误为什么吗?我应该怎么设置呢?
      

  4.   

    楼上,你的问题应该出在类的路径不对
    在jdk中有个参数是classpath的
    举个例子,你在d:/aaa/mypack/A.java
                  d:/aaa/mytestpack/Test.java
    中存放两个类,那么你应该这么设置:
            set classpath=d:/aaa/
    这样你的编译就会正常了
      

  5.   

    A.java与test.java放在同一击目录进行编译试试,很可能是由于路径不对造成的。
      

  6.   

    请问在哪里设置classpath?我怎么没有找到
      

  7.   

    如果你用的是win2000,设置classpath可以在控制面板->系统->高级->环境变量里.
      

  8.   

    每次创建一个包后,都在为包取名时间接地指定了一个目录结构。这个包必须存在(驻留)于由它的名字规定的目录内。而且这个目录必须能从CLASSPATH开始搜索并发现。最开始的时候,package关键字的运用可能会令人迷惑,因为除非坚持遵守根据目录路径指定包名的规则,否则就会在运行期获得大量莫名其妙的消息,指出找不到一个特定的类——即使那个类明明就在相同的目录中。若得到象这样的一条消息,请试着将package语句作为注释标记出去。如果这样做行得通,就可知道问题到底出在哪儿。