Java反射classNotFound异常



我正在尝试在运行时间动态链接到JAR文件。我已经为主要类别和方法创建了声明及其所有工作正常工作,除非我尝试调用一种方法,否

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.myapp.languagedetectorreflection.LangDetectReflectionManager.CreateDetectorFactory(LangDetectReflectionManager.java:73)
    at com.myapp.sharedlibrary.LanguageManager.LanguageDetector.<init>(LanguageDetector.java:40)
    at com.myapp.sharedlibrary.LanguageManager.LanguageDetector.getInstance(LanguageDetector.java:50)
    at com.myapp.tikamanager.MetaParser.<init>(MetaParser.java:66)
    at com.myapp.langtest.LangTest.main(LangTest.java:85)
Caused by: java.lang.NoClassDefFoundError: org/reflections/Reflections
    at com.cybozu.labs.langdetect.DetectorFactory.<init>(DetectorFactory.java:77)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: org.reflections.Reflections
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at com.myapp.languagedetectorreflection.ParentLastURLClassLoader.loadClass(ParentLastURLClassLoader.java:70)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

所讨论的行是: final Reflections reflections = new Reflections(null, new ResourcesScanner());

我尝试将反射jar声明为主要应用程序的直接依赖性,希望它会加载它,但这无济于事。我不确定该怎么办?使用反射来加载依赖项时是否有一个技巧?

"当Java Virtual Machine(JVM)试图加载特定类,而指定的类是在类Pather中找到的classNotFoundException。"

解决org.reflections.droflections的依赖项。希望您已经下载了所需的jar文件,并将其包含在项目类路径中。另外,您可以使用Maven。

最新更新