Search code examples
google-app-enginegoogle-apiguavagdatagoogle-contacts-api

NoSuchMethodError : google common ImmutableSet.copyOf(..)


I upgraded my Google app Engine app from 1.7. to 1.8. + Java 7 and i leveled up all API libraries to be up-to-date. I am getting strange exceptions during app inicialization in GAE container :

Constructor threw exception; nested exception is 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)

"suspicious" Libraries :

  • guava 11.0.2 (because it`s dependency for actual gdata project 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
  • http client librares version : 1.14.1
  • (and bunch of others nonrelated to this issue)

Even without guava library there`s the same error. What causes this incompatibility ? I did not found newer version of gdata-contact API (1.47.1). Any ideas ?


Solution

  • i removed latest guava library and used some rc05 version which works fine.