【问题标题】:Adding Reflections library to a Eclipse project将反射库添加到 Eclipse 项目
【发布时间】:2012-07-21 12:22:25
【问题描述】:

我正在尝试将 Reflections 库添加到 Eclipse Java 项目中以满足我的需要。问题是,虽然我已将反射-0.9.9-uberjar.jar 添加到项目的 lib 文件夹以及构建路径(实际上它也出现在“引用的库”下),但构建器似乎无法识别它,所以这一行例如给了我一个错误:

Reflections reflections = new Reflections("net.iberdroid.gameserver.cmds");

"Reflections cannot be resolved to a type"

如果我尝试导入 org.reflections,它说它也无法解决。

有什么想法吗?

非常感谢,

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    快速而肮脏的方法:打开reflections-0.9.9-uberjar.jar 并将其中的所有jar 提取到您的lib 文件夹中。然后将这些 jars 添加到构建路径中。

    更正确的方法是将您的项目设置为 maven 项目并在那里设置所有依赖项。查看 uberjar 的 META-INF 文件夹。

    【讨论】:

      【解决方案2】:

      你可以导入一个类:

      import org.reflections.Reflections;
      

      或包中的所有类:

      import org.reflections.*;
      

      但是你不能导入包:

      import org.reflections; // looks for a class named "reflections" in the package "org"
      

      请注意,对于像 Eclipse 这样的 IDE,您几乎从不导入任何内容,因为 IDE 会为您完成。键入“Refl”,然后按 Ctrl-空格键,Eclipse 会建议使用 Reflections 并为您添加导入。或者使用“Reflections”而不导入它,然后按 Ctrl-Shift-O,Eclipse 将通过添加所有必要的导入并删除不必要的导入来组织导入。

      编辑:

      reflections-0.9.9-uberjar.jar 文件不是 Java 库(包含类的 jar)。它是一个包含其他罐子的罐子(因此应该是一个 zip 文件以避免混淆)。您必须解压缩 jar 并将其中包含的所有库放入构建路径中。

      【讨论】:

      • 还是说无法解决。正如您所说,我不需要自己导入它。即使在这种情况下,如果您单击“...无法解析为类型”错误标记,Eclipse 也会为您提供导入所需包的选项,但情况并非如此。尽管它已添加到引用的库中,但似乎 eclipse 无法识别 jar。
      猜你喜欢
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 2015-05-17
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多