我试图根据我的自定义注释的值创建一个调用对象的某些实例的类,它发现,Google Reflection是一个不错的选择,但我无法实例化它,我是什么做错了?
我试试
public class TesteDeAnotacoes {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Reflections reflections = new Reflections("testedeanotacoes.test");
}
}
并出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Predicate
at testedeanotacoes.TesteDeAnotacoes.main(TesteDeAnotacoes.java:26)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
Java Result: 1
我的项目
我错过了一些细节,因为它不起作用?
答案 0 :(得分:3)
这显然是一个依赖性问题,它与任何库都是正交的。
最好的解决方案是使用一个体面的构建系统,并轻松获得传递依赖。 确保熟悉Maven(或Gradle,SBT,...),并查看pom.xml,尤其是依赖项部分。
其他解决方案是手动下载所需的库并构建类路径(java -cp ...),或者,如果可用的话,获取一个嵌入所有依赖项的fat-jar。