如何在Eclipse中引用外部JAR中的类?

时间:2014-11-10 03:48:26

标签: java eclipse

我想在JAR文件中引用类Bag,但Eclipse告诉我Bag cannot be resolved to a type。我已将Bag定义的JAR添加到项目的类路径中,但错误仍然存​​在。我做错了什么?

enter image description here

2 个答案:

答案 0 :(得分:2)

我认为你不能这样做,因为algs4.jar中的Bag类在默认包中。 在J2SE 1.4之前,我们仍然可以使用如下语法从默认包中导入类:

import Unfinished;

但是从J2SE 1.5开始,不再允许这样做。因此,如果我们想要从打包的类中访问默认包类,则需要将默认包类移动到它自己的包中。请阅读此处了解更多详细说明:

How to access java-classes in the default-package?

您可以选择一些选项:

  1. 通过反射或其他一些间接方法访问该类。但这有点难,就像这样:

    Class fooClass = Class.forName(" FooBar"); 方法fooMethod = fooClass.getMethod(" fooMethod",new Class [] {String.class});

    String fooReturned = fooMethod.invoke(fooClass.newInstance(),new String("我做了"));

  2. 如果您拥有该jar库的源代码,则需要将其放入正确的包中并将其作为新的jar库重新包装。

答案 1 :(得分:0)

您可能需要完全限定Bag类,或者导入它。