包目录:E:\WORK\Java\ThinkingInJava\Tool
package com.bruceeckel.tools;
public class P{
public static void rint(String s){
System.out.print(s);
}
public static void rintln(String s){
System.out.println(s); 
}
}
文件目录:E:\WORK\Java\ThinkingInJava\P177
import com.bruceeckel.tools.P;public class ToolTest{
public static void main(String[] args){
P.rintln("Available from now on!");
P.rintln("" + 100);
P.rintln("" + 100L);
P.rintln("" + 3.14159);
}
}
变量设置:classpath=.;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;E:\WORK\Java\ThinkingInJava\Tool
path=.;C:\j2sdk1.4.2_04\bin执行过程中,包可以执行,能生成.class文件。但是编译ToolTest文件时,它说找不到包文件。错误如下:
--------------------Configuration: <Default>--------------------
E:\WORK\Java\ThinkingInJava\P177\ToolTest.java:1: package com.bruceeckel.tools does not exist
import com.bruceeckel.tools.P;
                            ^
E:\WORK\Java\ThinkingInJava\P177\ToolTest.java:5: cannot resolve symbol
symbol  : variable P 
location: class ToolTest
                P.rintln("Available from now on!");
                ^
E:\WORK\Java\ThinkingInJava\P177\ToolTest.java:6: cannot resolve symbol
symbol  : variable P 
location: class ToolTest
                P.rintln("" + 100);
                ^
E:\WORK\Java\ThinkingInJava\P177\ToolTest.java:7: cannot resolve symbol
symbol  : variable P 
location: class ToolTest
                P.rintln("" + 100L);
                ^
E:\WORK\Java\ThinkingInJava\P177\ToolTest.java:8: cannot resolve symbol
symbol  : variable P 
location: class ToolTest
                P.rintln("" + 3.14159);
                ^
5 errorsProcess completed.
为什么?

解决方案 »

  1.   

    包和你的java文件在同一目录下才能导入呀,把你的com包里的所有东西拷到java编译的当前目录中
      

  2.   

    把你的tools包编译成jar文件,classpath=.;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;E:\WORK\Java\ThinkingInJava\Tool\tools.jar;
    再试试
      

  3.   

    目录结构:
    F:\temp\test1\P.java
    F:\temp\test1\com\bruceeckel\tools\P.class
    F:\temp\test2\ToolTest.javaclasspath:  .....;F:\temp\test1;记得在修改classpath后,重启一下编辑器(我用的是EditPlus)
    正常编译!
      

  4.   

    目录结构应该是这样的吧
    E:\
     WORK\
      Java\
       ThinkingInJava\
        Tool\
         com\
          bruceeckel\
           tools\
            P.class
    E:\
     WORK\
      Java\
       ThinkingInJava\
        P177\
         ToolTest.class
      

  5.   

    你的环境变量没有错误,但是你的P类的class文件P.class应该要放到E:\WORK\Java\ThinkingInJava\Tool\com\bruceeckel\tools这个文件夹中。而不是把它放在E:\WORK\Java\ThinkingInJava\Tool中。就是说你应该创建com\bruceeckel\tools这几个文件夹。
      

  6.   

    你的.class文件一定要放在E:\WORK\Java\ThinkingInJava\Tool\com\bruceeckel\tools下,;
    你的源文件不要放在E:\WORK\Java\ThinkingInJava\Tool中,最好和class文件放在一个目录下,要不然可能会影响编译。我也遇到国这样的问题
      

  7.   

    伙计,我和你一样,现在也在看Thinking in java,那个题我做过了.
    你先在E:\WORK\Java\ThinkingInJava\Tool中建那如下目录:com\bruceeckel\tools,然后再将你第一个JAVA程序在那个目录中编译,或将生成的.CLASS文件COPY再那个目录中也行.然后在其它地方将第二个文件编译就可以了.多试试,我也试了好一次.
    一起努力!!!
      

  8.   

    classpath环境变量的设置有问题!