我一java文件为C:\web-inf\classes\com\system\a.java 其中引用了com.system.b 而该class是放在一个c.jar
包中。这个包是放在c:\web-inf\lib目录下 我是在com\system\下运行javac a.java和set classpath 
 我set classpath=.;C:\web-inf\classes;C:\web-inf\lib;确提示我找不到com.system.b 是那儿有错呢。后来我把c.jar包打开后按照包地目录放到classes下 在编译就通过了why??? 

解决方案 »

  1.   

    也可以在环境变量中把jar增加到classpath中,不过这样比较麻烦,每次用不同的jar还要修改这个参数,还是楼上的办法好些
      

  2.   

    开始的时候你的b类因为是放在一个叫c.jar的包中,所以你需要把你的classpath中加入C:\web-inf\lib\c.jar这个语句。凡以jar后缀的类包,classpath中都要详细写出它的名字,不仅仅是路径。你开始编译的就是这个地方错了。后来你把你的b类解压出来,然后放在C:\web-inf\classes\com\system下,因为你的classpath中有这个路径:C:\web-inf\classes,所以编译器会在这个路径开始找你的包,结果是发现了在本路径的com\system中有这类,所以就调用成功了。