2010-03-08 14 views
7

Este es un problema sencillo, pero estoy teniendo problemas con él ...Colección Común Google en GWT

Estoy tratando de utilizar el método de recogida de Google común Objects.equal() en un código de cliente GWT, pero me m se hacen más el error

20: 12: 10.001 [eRROR] [gwt_regex] Línea 39: Sin código fuente está disponible para com.google.common.base.Objects tipo; ¿Olvidaste heredar un módulo obligatorio ?

Probamos a Google por la respuesta, pero no hemos encontrado ninguna respuesta con respecto a este - todo el mundo acaba de decir "colección de Google debe trabajar fuera de la caja con GWT".

Respuesta

2

La respuesta de Hilbrand no funcionó (me dio un montón de errores cuando se cargaron las clases de colección de Google)), y encontré otra solución.

  1. Salida google colección - http://google-collections.googlecode.com/svn/trunk/
  2. Ejecutar la tarea ant "jargwt"
  3. Añadir el archivo jar construida "google-recoger-GWT-SNAPSHOT.jar" a la ruta de clase de la aplicación.
  4. Agregue el módulo de su aplicación GWT.

La razón por la solución de Hilbrand no funcionó fue porque Google colección contiene una gran cantidad de archivos de Java GWT-incompaitable, y el archivo del módulo Collect.gwt.xml selecciona todos los archivos Java bajo Google Collection.

6

Necesitas heredar el archivo de módulo:

<inherits name='com.google.common.Collect.gwt.xml' /> 

y añadir los archivos de origen de ambas colecciones y archivos específicos gwt adicional. Los primeros están en el archivo zip de la página del proyecto, estos últimos están disponibles en la carpeta gwt en el tronco del proyecto de colecciones: http://code.google.com/p/google-collections/source/browse/#svn/trunk/gwt

+0

Gracias, lo intentaré en cuanto llegar a casa. –

+0

Esto no funcionará. Tienes que eliminar '.gwt.xml'. – slartidan

3

Para resolver el error (Sin código fuente está disponible para com.google.common.base.Objects tipo), sólo tiene que incluir Módulo base GWT:

<inherits name="com.google.common.base.Base" /> 

Si desea utilizar las clases relacionadas a las colecciones, es necesario incluir Collect módulo de GWT:

<inherits name="com.google.common.collect.Collect" /> 

PD: prueba de guayaba GWT 17,0

+0

Heredar 'Base' es obsoleto: ya se hace referencia implícita a' Recoger'. – slartidan

0

que tenía el mismo problema, los pasos siguientes resuelven mi problema.

he encontrado la "guayaba-15.0.jar" en la trayectoria de la estructura Luego añade uno más "guayaba-GWT-15.0.jar" archivo para construir camino

Cuestiones relacionadas