当前位置: 首页 > 面试题库 >

获取gdata服务的NoSuchMethod错误

夏侯衡
2023-03-14
问题内容

我收到以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.of([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableTypes(AltFormat.java:399)
at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableXmlTypes(AltFormat.java:387)
at com.google.gdata.wireformats.AltFormat.<clinit>(AltFormat.java:49)
at com.google.gdata.client.Service.<clinit>(Service.java:558)
at testproject.TestProject.run(TestProject.java:22)
at testproject.TestProject.main(TestProject.java:31)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

这来自以下代码:

package testproject;

import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.util.*;
import java.util.logging.*;

public class TestProject {

  public static void main(String[] args) {
    try {
      YouTubeService service = new YouTubeService("Test", "developerKey");
      service.setUserCredentials("root@gmail.com", "pa$$word");
    } catch (AuthenticationException ex) {
      Logger.getLogger(TestProject.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
}

首先,我将每个库都包含在http://code.google.com/p/gdata-java-
client/downloads/list中,
并且还导入了比我需要的更多的库。从那以后,我删除了我认为不必要的库)。因此,我当前包含的库是以下库:

mail.jar
activation.jar
ant.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
guava-11.0.1.jar
gdata-youtube-2.0.jar
gdata-youtube-met-2.0.jar

(那里可能有一些不必要的库…但是,我快要结束了…)我只是想测试获得YouTube服务的能力,这样我就可以继续进行该项目了,但是没有骰子。哦,而且我还包含了这个库:http : //code.google.com/p/guava-
libraries,
因为在收到NoClassDefFound错误之前,包括该库似乎可以解决它。预先感谢您的帮助!哦,我也完全按照gdata
入门指南的每个步骤(或者至少是这样)。最终我的测试构建成功了……再次感谢!


问题答案:

添加超过要求的数量也可能导致问题。java.lang.NoSuchMethodError错误通常发生在运行时找不到具有精确签名的必需方法的情况下。可能的原因是:

1) There might be mulitple jars with same code, which may cause wrong class get loaded.

2) Incompatable version of jar, the jar you have in classpath might be older version/newer version.

确保所有这些情况都没有发生。



 类似资料:
  • 我正在创建一个Web服务,但是当我调用http://localhost:8080/mdn/addendpoint,我得到了一个stacktrace,尽管我期望JSON数据会存储在我的数据库中。 这是实体类: 这是控制器: 所有其他相关的类也存在。这是我试图作为请求体发送的JSON输入: 但是,当我执行此请求时,我会得到以下stacktrace:

  • gdata是google提供的获取其数据的api,analytics, calender, contacts, webmastertools, youtube等等。

  • 问题内容: 对于不正确的Ajax操作,我将HTTP标头代码设置为403并发送以下响应: 但是,在处理错误时我无法访问此数据…是否可以从jqXHR访问“消息”数据? 像jqXHR.message之类的东西? 非常感谢您的帮助… EDIt: 返回: 但是xhr.responseText.message不返回任何内容… 编辑:此代码有效: 问题答案: 您应该进入jQuery“错误”回调… http://

  • 有谁能帮上忙吗? 当我试图安装Opends时,出现以下错误 服务器未启动 警告:无法连接到服务器:javax.naming.CommunicationException:0.0.0.0:4444[根异常为java.net.ConnectException:连接被拒绝:连接]javax.naming.CommunicationException:0.0.0.0:4444[根异常为java.net.C

  • 嗨,我是Spring框架的新手。我已经编写了应用程序,其中发布对象RESTAPI使用Rest模板,但我得到了这个错误 这是我的密码 这是请求对象

  • 获取java.net.socketException:以下socket创建的SOCKS服务器异常的错误回复。我没有使用任何SOCKS服务器&它只是一个独立的程序,这是起跑线&仅在这里获取异常。我也使用反射API。 从其他方法调用,如下所示: