Estoy atascado al comienzo del desarrollo. Tengo un programa de prueba simple que se enumera a continuación. Seguí http://code.google.com/apis/gdata/articles/eclipse .html para configurar 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");
    }
  }
}

Cuando ejecuto java Test en la consola, tengo una excepción:

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

Cuando ejecuto en Eclipse, obtuve la excepción:

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

¿Qué pasa aquí? ¿Cómo arreglar esto?

0
DrXCheng 4 ene. 2012 a las 00:46
Parece que faltan los archivos Jar necesarios. Asegúrese de que los archivos Jars necesarios estén en la carpeta project - lib.
 – 
kosa
4 ene. 2012 a las 01:34

1 respuesta

La mejor respuesta

Parece que le falta la API de google-collections, que ha quedado obsoleta y ahora se reemplaza por guava para su segundo error (que se ejecuta en eclipse). Para el primer error, olvidó agregar los archivos jar necesarios a su ruta de clases (gdata-youtube-2.0.jar). usar

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

Donde ... simboliza otras bibliotecas necesarias.

2
Roger Lindsjö 4 ene. 2012 a las 02:21