4

我正在尝试将 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 它说它也无法解决。

有任何想法吗?

非常感谢提前,

4

2 回答 2

6

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

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

于 2012-07-21T12:44:57.103 回答
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 并将其包含的所有库放入构建路径中。

于 2012-07-21T12:28:05.643 回答