1

我只是想让一些东西工作,所以我可以尝试一些谷歌应用程序引擎 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();
    }

}

}

我参考了 mail.jar、activation.jar、servlet-api.jar、gdata-client、gdata-client-meta、gdata-core、gdata-media、gdata-photos-2.0.jar 和 gdata-photos-meta- 2.0.jar 根据google的说明。

我在控制台收到此错误:

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)

知道我错过了什么吗?

4

2 回答 2

1

您还需要谷歌收藏

于 2009-08-01T10:14:03.173 回答
0

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

于 2009-08-01T03:02:53.577 回答