Java 在Google Data API中执行联系人演示时出现运行时异常

Java 在Google Data API中执行联系人演示时出现运行时异常,java,gdata-api,Java,Gdata Api,我已经下载了用于eclipse的google数据API插件。在处理联系人模板(Demo.java)时 /*说明:这是一个命令行应用程序。因此,请使用以下参数执行此模板: arg[0]=用户名 arg[1]=密码 */ /** *@author(你的名字在这里) * */ 导入com.google.gdata.client.contacts.contacts服务; 导入com.google.gdata.data.contacts.ContactEntry; 导入com.google.gdata.d

我已经下载了用于eclipse的google数据API插件。在处理联系人模板(Demo.java)时

/*说明:这是一个命令行应用程序。因此,请使用以下参数执行此模板:
arg[0]=用户名
arg[1]=密码
*/
/**
*@author(你的名字在这里)
*
*/
导入com.google.gdata.client.contacts.contacts服务;
导入com.google.gdata.data.contacts.ContactEntry;
导入com.google.gdata.data.contacts.ContactFeed;
导入com.google.gdata.util.AuthenticationException;
导入com.google.gdata.util.ServiceException;
导入java.io.IOException;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.util.List;
/**
*这是一个测试模板
*/
公共类联系人{
公共静态void main(字符串[]args){
试一试{
//创建新的联系人服务
ContactsService myService=新的ContactsService(“我的应用程序”);
setUserCredentials(参数[0],参数[1]);
//获取所有条目的列表
URL metafeedUrl=新URL(“http://www.google.com/m8/feeds/contacts/“+args[0]+”@gmail.com/base”);
System.out.println(“获取联系人条目…\n”);
ContactFeed resultFeed=myService.getFeed(metafeedUrl,ContactFeed.class);
List entries=resultFeed.getEntries();

对于(int i=0;i您似乎缺少一个依赖项。下载此项并将jar添加到您的构建路径中。

您似乎缺少一个依赖项。下载此项并将jar添加到您的构建路径中。

Thanx,jitter:-),现在一切正常。但是,GD-API页面上没有提到这件事(你需要显式安装google-collect-1.0-rc3.jar)。然后可能会发布一个bug报告来避免其他人的麻烦。Thanx,jitter:),现在一切都好了。但是,GD-API页面上没有提到这件事(你需要显式安装google-collect-1.0-rc3.jar)。然后可能会发布一个bug报告来避免其他人的麻烦
/* INSTRUCTION: This is a command line application. So please execute this template with the following arguments:

        arg[0] = username
        arg[1] = password
*/

/**
 * @author (Your Name Here)
 *
 */

import com.google.gdata.client.contacts.ContactsService;
import com.google.gdata.data.contacts.ContactEntry;
import com.google.gdata.data.contacts.ContactFeed;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

/**
 * This is a test template
 */

  public class Contacts {

    public static void main(String[] args) {

      try {

        // Create a new Contacts service
        ContactsService myService = new ContactsService("My Application");
        myService.setUserCredentials(args[0],args[1]);

        // Get a list of all entries
        URL metafeedUrl = new URL("http://www.google.com/m8/feeds/contacts/"+args[0]+"@gmail.com/base");
        System.out.println("Getting Contacts entries...\n");
        ContactFeed resultFeed = myService.getFeed(metafeedUrl, ContactFeed.class);
        List<ContactEntry> entries = resultFeed.getEntries();
        for(int i=0; i<entries.size(); i++) {
          ContactEntry entry = entries.get(i);
          System.out.println("\t" + entry.getTitle().getPlainText());
        }
        System.out.println("\nTotal Entries: "+entries.size());
      }
      catch(AuthenticationException e) {
        e.printStackTrace();
      }
      catch(MalformedURLException e) {
        e.printStackTrace();
      }
      catch(ServiceException e) {
        e.printStackTrace();
      }
      catch(IOException e) {
        e.printStackTrace();
      }
    }
  }
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/Maps
    at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:118)
    at com.google.gdata.wireformats.AltRegistry.<init>(AltRegistry.java:100)
    at com.google.gdata.client.Service.<clinit>(Service.java:532)
    at Contacts.main(Contacts.java:36)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 4 more