在看《Thinking in java 4th edition》中,导入source code的包时一直困扰我了。首先我在jdk环境一切都搞定的前提下。我把source code解压放置在F:\DOC\JavaT
里面有子目录net\mindview\util\……我的classpath值为:
.;C:\Program Files\Java\jdk1.6.0_02\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_02\lib\tools.jar;F:\DOC\JavaT;可是包引用一直出错最简单的输出简写,包文件是net\mindview\util\Print.javaimport static net.mindview.util.Print.*;
public class test{
public static void main(String [] args){
  print("Hello");
}
}编译错误提示:F:\program\workplace\test.java:1: 软件包 net.mindview.util 不存在
import static net.mindview.util.Print.*;
^
F:\program\workplace\test.java:4: 找不到符号
符号: 方法 print(java.lang.String)
位置: 类 test
print("Hello");
^
2 错误处理已完成。 

解决方案 »

  1.   

    建议你找个编译器如eclipse管理工程,这样导入包要省事的多
      

  2.   

    我想应该这么写
    import   static   net.mindview.util.Print;
    或者
    import   static   net.mindview.util.*;
      

  3.   

    你编译过那个要导入的文件吗?比如说javac -d . *.java
      

  4.   

    编译和不编译。.class和.java都尝试过。
      

  5.   

    在命令窗口可以了原来在jcreate 或者eclipse里有问题,是得导入的吧
      

  6.   

    你确定net\mindview\util\下面有class文件?(你要导入的那个)
      

  7.   

    在命令窗口下可以了。可是在ide下老样子!
      

  8.   

    没用过jcreate   或者eclipse用的JB。不知道说的对不对。你要到入包中的PRINT类。那你要到入的TEST类中,前面定义的包路径要完整。例如:包 A 里有类PRINT,要用类TEST来倒入前面说的PRINT代码如下
    2个包的路径分别为
    untitled5.b;
    untitled5.a;代码一package untitled5.a;
    public class print {
        public void print1(String dd) {
            System.out.println(dd);
        }
    }代码二package untitled5.b;
    import untitled5.a.print;
    public class test {
        public test() {
        }
        public static void main(String [] args)
        {
           print a=new print();
           a.print1("Hello");
        }
    }
    刚开始我写的时候,就是没把代码二所在的包路径写进去,就写成
    import a.print;
    这个时候就会出错
    把所在包写进去后
    import untitled5.a.print;
    就OK了。你的估计也是这样
    import   static   JavaT.net.mindview.util.Print.*; //修改包路径
    public   class   test{ 
    public   static   void   main(String   []   args){ 
        print("Hello"); 


    不知道写的对不对,
    import   static   net.mindview.util.Print.*; 
    因为对你的引用包中static不是很明白。
      

  9.   

    import   static   net.mindview.util.Print.*;  //这句错误了。。Print本身是个类了,就不用加.*了改为如下:
    import static net.mindview.util.Print; 
      

  10.   

    不用加static吧?
    改成import net.mindview.util.Print;  
      

  11.   

    谢谢9楼的详细解释
    我在eclipse里摸索了下,在工程下导入了那个package,就可以直接用了。
    你那个方法也不错,谢谢。。10楼:加.*因为是要导入Print.class里所有的类吧,需要的。我是这么认为的。11楼:加static是因为要直接调用,不用再实例化。。
      

  12.   

    楼主好,能不能把《Thinking in java 4th edition》中,source code的包发给我呢