有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何解决此PicasawebService错误?

我只是想让一些东西发挥作用,这样我就可以试试谷歌的java应用引擎了。然而,我似乎有一个问题,我无法掌握的东西

java代码如下所示:

import java.net.URL;
import com.google.gdata.client.photos.*;
import com.google.gdata.data.photos.*;

public class TestPicasa {

public static void main(String[] args) {

    try {
        PicasawebService service = new PicasawebService("Picasa test");
        service.setUserCredentials("username@gmail.com", "password");
        URL feedURL = new URL("http://picasaweb.google.com/data/feed/api/user/username?kind=album");
        UserFeed feed = service.getFeed(feedURL, UserFeed.class);
        for (AlbumEntry entry : feed.getAlbumEntries()) {
             System.out.println(entry.getTitle().getPlainText());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

}

}

我已经提到了邮件。罐子,激活。jar,servlet api。jar,gdata客户端,gdata客户端元,gdata核心,gdata媒体,gdata-photos-2.0。jar和gdata-photos-meta-2.0。根据来自google的指令创建jar

我将此错误发送到控制台:

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 TestPicasa.main(TestPicasa.java:10)

你知道我错过了什么吗


共 (2) 个答案

  1. # 2 楼答案

    确认您没有两次加载google JAR。有时你会有两个位置,而你没有想到的那个位置会有一个丢失的罐子。然后你的类文件就会丢失,因为它所在的jar不在第一个类加载器之下。在Tomcat上,当您的所有JAR都在webapp的WEB-INF/lib中,但一些JAR在Tomcat/lib中时,这种情况经常发生。或者,我只在google collect中找到了缺失的类。jar,我认为你没有列出它