/ / NoSuchMethodError: google comune ImmutableSet.copyOf (..) - google-app-engine, google-api, guava, gdata, google-contacts

NoSuchMethodError: google comune ImmutableSet.copyOf (..) - google-app-engine, google-api, guava, gdata, google-contacts

Ho aggiornato la mia app Engine dell'app Google da 1.7. a 1,8. + Java 7 e ho livellato tutte le librerie API per essere aggiornato. Ricevo strane eccezioni durante l'inizializzazione dell'app nel contenitore GAE:

Il costruttore ha lanciato un'eccezione; l'eccezione annidata è java.lang.NoSuchMethodError:

java.lang.NoClassDefFoundError: Could not initialize class com.google.gdata.client.contacts.ContactsService
.
and this exception follows :
.
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;:
.
.
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)

Librerie "sospette":

  • guava 11.0.2 (perché è la dipendenza per il progetto gdata effettivo 1.47.1)
  • gdata-contacts-3.0.jar
  • gdata-contacts-meta-3.0.jar
  • gdata-core-1.0.jar
  • gdata-client-1.0.jar
  • gdata-base-1.0.jar
  • versione di librerie client http: 1.14.1
  • (e molti altri non correlati a questo problema)

Anche senza la libreria guava c'è lo stesso errore. Cosa causa questa incompatibilità? Non ho trovato la versione più recente dell'API gdata-contact (1.47.1). Qualche idea ?

risposte:

2 per risposta № 1

Ho rimosso l'ultima libreria guava e ho usato una versione rc05 che funziona bene.