【问题标题】:Build a gdata Java program构建一个 gdata Java 程序
【发布时间】:2012-02-01 20:28:15
【问题描述】:

我被困在开发的开始阶段。我有一个下面列出的简单测试程序。我跟着 http://code.google.com/apis/gdata/articles/eclipse.html 设置了 Eclipse。

import com.google.gdata.client.*;
import com.google.gdata.client.youtube.*;
import com.google.gdata.data.*;
import com.google.gdata.data.geo.impl.*;
import com.google.gdata.data.media.*;
import com.google.gdata.data.media.mediarss.*;
import com.google.gdata.data.youtube.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;
import java.io.IOException;
import java.io.File;
import java.net.URL;

public class Test {
  public static void main(String[] args) {
    YouTubeService service = new YouTubeService(
          "xxx.apps.googleusercontent.com", 
          "AAA");
    }
  }
}

当我在控制台中运行java Test 时,出现异常:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gdata/client/youtube/YouTubeService
at Test.main(Test.java:18)
Caused by: java.lang.ClassNotFoundException: com.google.gdata.client.youtube.YouTubeService
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 1 more

当我在 Eclipse 中运行时,我得到了异常:

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:555)
at Test.main(Test.java:18)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 4 more

这里有什么问题?如何解决这个问题?

【问题讨论】:

  • 似乎缺少必需的 Jar 文件。确保你需要的 Jars 文件位于 project--lib 文件夹中。

标签: java youtube-api gdata-api


【解决方案1】:

您似乎缺少 google-collections API,该 API 已被弃用,现在被 guava 替换为您的第二个错误(在 eclipse 中运行)。对于第一个错误,您忘记将所需的 jar 添加到您的类路径 (gdata-youtube-2.0.jar)。使用

java -cp ...gdata-youtube-2.0.jar...your.java.Program

其中 ... 表示其他所需的库。

【讨论】:

    猜你喜欢
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多