YouTube Java API问题

时间:2010-08-18 09:06:40

标签: java youtube youtube-api gdata-api

我正在尝试使用YouTube Java GData库/ API获取特定用户的视频列表。

但是,当我尝试使用YouTubeService service = new YouTubeService("Cyphon-MyCampusPulse-1", YOUTUBE_API_KEY);创建服务时,我得到以下运行时异常:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
at scrapers.YouTubePulseScraper.<init>(YouTubePulseScraper.java:37)
at scrapers.YouTubePulseScraper.main(YouTubePulseScraper.java:153)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more

我不确定异常与我正在做的事情有什么关系。任何提示都表示赞赏。

2 个答案:

答案 0 :(得分:7)

您需要将JavaMail jar添加到包含javax.mail.MessagingException的类路径中。你可以在这里得到它:http://www.oracle.com/technetwork/java/index-138643.html

编辑: 摘自文档:

  

GData Java客户端库具有   遵循外部依赖关系。该   以下部分将介绍如何   在你的安装上安装这些依赖项   最喜欢的操作系统(或OS   你在工作中坚持下去。)

     
      
  • JDK(Java Development Kit)版本1.5 +
  •   
  • Apache Ant版本1.7 +
  •   Sun的JavaMail API 1.4 +中的
  • mail.jar
  •   Sun的JavaBeansActivationFramewrok中的
  • activation.jar。这是   仅适用于媒体特定API   包括文档列表数据API,   Picasa网络相册API和YouTube数据   API。
  •   Sun的Servlet API版本2.3+中的
  • servlet.jar。仅在需要时才需要这样做   执行代码示例   'sample.authsub'或   'sample.gbase.recipe'包。
  •   
     

一些.jar依赖项   仅限特定样品,   但为了避免构建错误,最好   只为了得到一切。选择你的   操作系统的选择   继续:   Windows,   Mac OS X,   要么   Linux

我添加了这个,因为如果你错过了一个依赖关系,你可能会错过其他依赖关系,所以你应该仔细检查你是否拥有所有东西。

答案 1 :(得分:0)

您需要Java Mail,可从Maven Repository获取:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4.5</version>
</dependency>