这个jar是自己打包的,里边是 public class.
但奇怪的是,default package里可以访问这个类里的静态方法。
但是在这个工程下的任何一个有命名的包内就无法访问到这个Jar里边的类。
这是为何,困扰几天了。

解决方案 »

  1.   

    这种情况我遇到一次!我的情况是因为JDK的原因。你的就不知道了。可以下载一个最新版的JDK重新安装下!希望能对你有帮助!
      

  2.   

    我已经使用的最新的JDK,我发誓,应该与JDK无关,在另一个工程里就内这样使用,怪了。
      

  3.   

    没什么代码,比如JAR中定义了一个类:A,里边有方法 b();
    如果成功使用了JAR,那么A.b();是编译正确的。
    但现在说不存在这样的类。
      

  4.   

    不晓得你的代码,只能用猜的(根据你提供的线索)。
    是否在代码里写了package关键字?
    是否在CLASSPATH中指定了JAR包?
      

  5.   

    给打包的类,加上包名再调用,不要default package了
      

  6.   

    这样,你手动把那个jar包加入到Path里,看看能不能编译过,如果OK,就是Eclipse的问题了。
      

  7.   

    说错了 是加入到CLASSPATH里
      

  8.   

    现在终于知道问题了。
    不说JAR的问题
    就是ECLIPSE里default package 的里边类。
    无法被命名包中的类引用,是不是 ??
    我问多很高手,他们说没办法。所以有人严格鄙视在默认包里写代码,也是有原因的。
    我想如果真的是这样,肯定是eclipse这个IDE做得不够好,应该默认包名是default,给它一个包的名字也好。
      

  9.   


    原来如此
    不过我认为这是写JAR包的人的问题
      

  10.   

    难道就确实没有办法引用default package 包的东西吗??