加载Factual实例时出现Java Error java.lang.NoClassDefFoundError

时间:2012-07-26 23:52:54

标签: java

我很容易尝试实例化Factual类的实例,如下所示:

Factual factual = new Factual(key, secret);

每次开始加载时都会出错:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/google/api/client/http/HttpResponseException

我已经加载了所有正确的jar文件并重新检查了所有代码,以确保我没有遗漏任何内容。我的所有导入都是正确的,依赖性很好。

Stack:

    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/google/api/client/http/HttpResponseException
    at mygasfeedquery.FactualHelper.<init>(FactualHelper.java:19)
    at mygasfeedquery.mainGUI.jButton1ActionPerformed(mainGUI.java:320)
    at mygasfeedquery.mainGUI.access$200(mainGUI.java:18)
    at mygasfeedquery.mainGUI$3.actionPerformed(mainGUI.java:188)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2713)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
    at java.awt.EventQueue.access$000(EventQueue.java:101)
    at java.awt.EventQueue$3.run(EventQueue.java:666)
    at java.awt.EventQueue$3.run(EventQueue.java:664)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:680)
    at java.awt.EventQueue$4.run(EventQueue.java:678)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: com.google.api.client.http.HttpResponseException
    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:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
  • 番石榴-R09
  • 谷歌-API的客户端 - 1.10.3-β
  • 杰克逊核-ASL-1.9.1
  • 杰克逊 - 芯 - LGPL-1.9.1
  • 杰克逊映射器-ASL-1.9.1
  • 公地-IO-2.1
  • JS​​ON-20090211
  • 的junit-4.4
  • 事实-java的驾驶员1.5.0
  • JS​​ON-简单-1.1.1
  • MySQL的连接器的Java-5.1.21槽

2 个答案:

答案 0 :(得分:1)

此错误适用于依赖项http://mvnrepository.com/artifact/com.google.http-client/google-http-client/1.7.0-beta

加载google-api-client jar后,它给了我一个新错误。但后来有人提到依赖关系可能依赖于其他依赖关系。所以我查看了回购,并根据它找到了我需要的那些。

基本上我没有我需要的所有罐子,我不知道依赖关系可以相互依赖。

答案 1 :(得分:0)

当任何库jar文件丢失或无法找到时,如果您使用netbeans框架并且左侧栏中的项目名称显示为红色字体颜色,则表示项目需要一些修复时,可能会发生此错误。要解决此问题,请右键单击您的项目名称,然后单击解决项目问题,它会告诉您哪些问题确实存在,哪些文件丢失或无法找到,然后您可以将缺少的文件设置到框架中。