NoSuchMethodError:google common ImmutableSet.copyOf(..)

时间:2013-05-10 04:04:51

标签: google-app-engine google-api guava gdata google-contacts

我将我的Google应用引擎应用从1.7升级。到1.8。 + Java 7和i将所有API库升级为最新版本。我在GAE容器中的app inicialization期间遇到奇怪的异常:

构造函数抛出异常;嵌套异常是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)

“可疑”图书馆:

  • guava 11.0.2(因为它依赖于实际的gdata项目1.47.1)
  • gdata-contacts-3.0.jar
  • gdata-contacts-meta-3.0.jar
  • GDATA核-1.0.jar
  • GDATA-客户1.0.jar
  • gdata-base-1.0.jar
  • http client librares version:1.14.1
  • (和其他一些与此问题无关的人)

即使没有番石榴库,也会出现同样的错误。导致这种不兼容的原因是什么?我没有找到更新版本的gdata-contact API(1.47.1)。有任何想法吗 ?

1 个答案:

答案 0 :(得分:2)

我删除了最新的番石榴库并使用了一些工作正常的rc05版本。