2013-07-17 3 views
3

, когда я звоню createOrReplace,клиент библиотека GCS NoSuchMethod systemNanoTime

private GcsService gcsService = 
GcsOutputChannel outputChannel = gcsService.createOrReplace(file, GcsFileOptions.getDefaultInstance()); 

Я вижу

java.lang.NoSuchMethodError: com.google.common.base.Platform.systemNanoTime()J 
at com.google.common.base.Ticker$1.read(Ticker.java:60) 
at com.google.common.base.Stopwatch.start(Stopwatch.java:114) 
at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:88) 
at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:138) 
at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:47) 
at com.train.trainercircle.rest.ImageResource.getExercises(ImageResource.java:72) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:45) 
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) 
at 

Я посмотрел в менеджере зависимости от ПОМ файла в ELIPSE и удостоверились версию гуавы, необходимую gcs- клиентская библиотека скомпилирована.

Что дает, любые идеи?

Благодаря

+0

То же самое здесь, с картой GAE – ZiglioUK

+0

Нашли исправление для меня, см. Ниже – ZiglioUK

ответ

2

Как предложенные here вы, вероятно, Google-коллекции баночку на вашем пути к классам, а также гуавы. Обязательно удалите это. При использовании Maven

<exclusions> 
    <exclusion> 
    <artifactId>google-collect</artifactId> 
    <groupId>com.google</groupId> 
    </exclusion> 
</exclusions> 

Смотрите также here

гуавы является полностью совместимым подмножеством старой библиотеки Google Collections. Он также включает в себя летние исправления ошибок, исправления документов и исправления производительности, поэтому мы настоятельно рекомендуем вам использовать Guava вместо Google Collections.

Если ваше приложение когда-либо заканчивается как google-collect-1.0.jar, так и guava-r ##. Jar в том же пути к классам, просто удалите JOC Коллекции Google, и все будет в порядке. Если вы не удалите его, это либо вызовет ужасные проблемы (если оно произойдет до guava в пути к классам), либо никогда не будет видно (в случае его возникновения).

Смежные вопросы