2012-07-21 60 views
4

我正在尝试将反射库添加到Eclipse Java项目以将其用于我的需要。问题是,尽管我已经将反射-0.9.9-uberjar.jar添加到了我的项目的lib文件夹中,并且还添加了构建路径(实际上它也出现在“引用的库”下),但构建器似乎不认识它,所以这条线,例如给我一个错误:将反射库添加到Eclipse项目中

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

"Reflections cannot be resolved to a type" 

如果我尝试导入org.reflections它说,它解决不了也没有。

任何想法?

非常感谢提前,

回答

6

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

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

+0

我将使用Q&D方式。谢谢。 – 2012-07-21 13:00:26

+0

带我永远找到这个答案,谢谢! – Philip 2012-09-23 05:26:29

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将通过添加所有必要的导入和删除不必要的导入来组织导入。

编辑:

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

+0

仍然说它无法解决。如你所说,我不需要自己导入它。即使在这种情况下,如果您点击“......无法解析为某种类型”错误标记,Eclipse也会提供导入所需包的选项,但事实并非如此。 它看起来像eclipse不认识的jar,虽然它被添加到引用的库。 – 2012-07-21 12:38:58

+0

查看编辑回答我的问题 – 2012-07-21 12:46:04