我正在尝试将Reflections库添加到Eclipse Java项目中,以便根据我的需要使用它。问题是虽然我已经将reflection-0.9.9-uberjar.jar添加到我的项目的lib文件夹中,但也添加到了Build Path(实际上它也出现在" Referenced Libraries") ,构建器似乎没有识别它,所以这一行例如给我一个错误:
Reflections reflections = new Reflections("net.iberdroid.gameserver.cmds");
"Reflections cannot be resolved to a type"
如果我尝试导入org.reflections,则说它无法解决。
有什么想法吗?
提前多多感谢,
答案 0 :(得分:6)
快速而肮脏的方式:打开Reflections-0.9.9-uberjar.jar并将其中的所有罐子提取到您的lib文件夹中。然后将这些jar添加到构建路径。
更正确的方法是将项目设置为maven项目并在那里设置所有依赖项。看看uberjar的META-INF文件夹。
答案 1 :(得分: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-space,Eclipse将建议使用Reflections
并为您添加导入。或者使用“Reflections”而不导入它,然后点击Ctrl-Shift-O,Eclipse将通过添加所有必要的导入并删除不必要的导入来组织导入。
编辑:
Reflections-0.9.9-uberjar.jar文件不是Java库(包含类的jar)。它是一个包含其他罐子的罐子(因此应该是一个zip文件以避免混淆)。您必须解压缩jar并将其包含的所有库放入构建路径中。