2016-05-31 112 views
1

我成功地建立和的IntelliJ使用摇篮插件描述为NoClassDefFoundError的第三方库

dependencies{ 
    compile fileTree(dir: 'libs', include: '*.jar') 
    ... 
    compile "org.apache.httpcomponents:httpmime:4.5.2" 
    compile "org.apache.httpcomponents:httpclient:4.5.2" 
    compile "org.apache.commons:commons-configuration2:2.0" 
    ... 
} 

我的依赖性运行我的应用程序当我运行命令行我的应用程序我得到一个错误信息:

Error: A JNI error has occurred, please check your installation and try again 
Exception in thread "main" java.lang.NoClassDefFoundError:  org/apache/commons/configuration2/ex/ConfigurationException 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
at java.lang.Class.privateGetMethodRecursive(Class.java:3048) 
at java.lang.Class.getMethod0(Class.java:3018) 
at java.lang.Class.getMethod(Class.java:1784) 
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) 
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration2.ex.ConfigurationException 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 7 more 

我该如何解决这个错误?

+0

运行的gradle的建立与--debug 它将打包项目输出它无法将jar添加到类路径中的原因,如果它未在maven存储库中找到jar版本,或者如果您正在运行脱机版本,可能在本地jar文件夹中找不到它。 – Raphael

回答

0

1)你需要添加你依赖于在classpath的罐子,或者

2)通过创建具有依赖性的罐子