Проблемы с API Java YouTube

Я пытаюсь получить список видео определенного пользователя, используя библиотеку /API Java GData YouTube.

Тем не менее, когда я пытаюсь создать службу с помощью 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 ответа

Решение

Вам нужно добавить jar-файл JavaMail к вашему classpath, который содержит исключение javax.mail.MessagingException. Вы можете получить его здесь: http://www.oracle.com/technetwork/java/index-138643.html

Изменить: Извлечено из документации:

Клиентская библиотека GData Java имеет следующие внешние зависимости. В следующих разделах будет описано, как установить эти зависимости в вашей любимой операционной системе (или ОС, с которой вы застряли на работе).

  • JDK (Java Development Kit) версия 1.5+
  • Apache Ant версия 1.7+
  • mail.jar в Sun JavaMail API 1.4+
  • activ.jar в JavaBeansActivationFramewrok от Sun. Это требуется только для специальных API для мультимедиа, включая API данных списка документов, API Веб-альбомов Picasa и API данных YouTube.
  • servlet.jar в Sun Servlet API версии 2.3+. Это требуется только при выполнении примеров кода в пакетах sample.authsub или sample.gbase.recipe.

Несколько зависимостей.jar требуются только для конкретных примеров, но во избежание ошибок сборки лучше всего просто получить все. Для продолжения выберите операционную систему: Windows, Mac OS X или Linux.

Я добавил это, поскольку, если вам не хватает одной зависимости, возможно, вам не хватает других, поэтому вам следует дважды проверить, есть ли у вас все.

Вам нужна Java Mail, которая доступна в репозитории Maven:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4.5</version>
</dependency>
Другие вопросы по тегам