【发布时间】:2015-09-02 16:17:35
【问题描述】:
我正在尝试遵循 GCS 入门指南 - https://cloud.google.com/appengine/docs/java/googlecloudstorageclient/getstarted
它说我应该下载客户端库,我是用 git 完成的。
然后它说:
在“库”选项卡中,单击“添加外部 Jar”。您必须添加 以下 JAR:
appengine-gcs-client.jar 来自您安装 Cloud Storage 的位置 客户端库
guava-15.0.jar 来自您安装 Cloud Storage 客户端的位置 图书馆
joda-time-2.3.jar 来自您安装 Cloud Storage 客户端的位置 图书馆
App Engine 安装子目录中的 appengine-testing.jar /lib/testing。
App Engine 安装子目录 /lib/impl 中的 appengine-api.jar。
App Engine 安装子目录中的 appengine-api-stubs.jar /lib/impl.
但下载中绝对没有jar,
我错过了什么??
编辑: 我设法在网上找到了丢失的罐子,现在我得到了:
线程“主”java.util.ServiceConfigurationError 中的异常: com.google.appengine.spi.FactoryProvider:提供者 com.google.appengine.api.search.ISearchServiceFactoryProvider 可以 不被实例化 java.util.ServiceLoader.fail(ServiceLoader.java:224) 在 java.util.ServiceLoader.access$100(ServiceLoader.java:181) 在 java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) 在 java.util.ServiceLoader$1.next(ServiceLoader.java:445) 在 com.google.appengine.spi.ServiceFactoryFactory$1.run(ServiceFactoryFactory.java:148) 在 com.google.appengine.spi.ServiceFactoryFactory$1.run(ServiceFactoryFactory.java:130) 在 java.security.AccessController.doPrivileged(Native Method) 在 com.google.appengine.spi.ServiceFactoryFactory.getProvidersUsingServiceLoader(ServiceFactoryFactory.java:130) 在 com.google.appengine.spi.ServiceFactoryFactory.access$100(ServiceFactoryFactory.java:39) 在 com.google.appengine.spi.ServiceFactoryFactory$RuntimeRegistry.(ServiceFactoryFactory.java:109) 在 com.google.appengine.spi.ServiceFactoryFactory.getFactory(ServiceFactoryFactory.java:67) 在 com.google.appengine.api.datastore.DatastoreServiceFactory.getFactory(DatastoreServiceFactory.java:78) 在 com.google.appengine.api.datastore.DatastoreServiceFactory.getDatastoreService(DatastoreServiceFactory.java:20) 在 com.google.appengine.api.datastore.DatastoreServiceFactory.getDatastoreService(DatastoreServiceFactory.java:40) 在 com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.(LocalRawGcsService.java:87) 在 com.google.appengine.tools.cloudstorage.dev.LocalRawGcsServiceFactory.createLocalRawGcsService(LocalRawGcsServiceFactory.java:29) 在 com.google.appengine.tools.cloudstorage.GcsServiceFactory.createRawGcsService(GcsServiceFactory.java:66) 在 com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:44) 在 com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory.java:40) 在 com.google.appengine.demos.LocalExample.(LocalExample.java:54) 在 com.google.appengine.demos.LocalExample.main(LocalExample.java:129) 引起:java.lang.VerifyError:类 com.google.appengine.repackaged.com.google.appengine.api.search.SearchServicePb$DeleteDocumentRequest 覆盖最终方法 getUnknownFields.()Lcom/google/appengine/repackaged/com/google/protobuf/UnknownFieldSet; 在 java.lang.ClassLoader.defineClass1(Native Method) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:800) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 在 java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 com.google.appengine.api.search.SearchServiceFactoryImpl.(SearchServiceFactoryImpl.java:13) 在 com.google.appengine.api.search.ISearchServiceFactoryProvider.(ISearchServiceFactoryProvider.java:16) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 java.lang.Class.newInstance(Class.java:379) 在 java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) ... 还有 18 个
似乎本指南从未经过实际测试,完全是浪费时间,还是什么?
【问题讨论】: