2014-02-03 4 views
3

У меня есть веб-приложение Spring MVC 4.0.1, которому необходимо загрузить файлы в файлы облачных хранилищ Rackspace. Для этого я использую Apache jClouds. При попытке создать Blobstore, используя следующий код:Ошибка при создании BlobContext с использованием jclouds в приложении Spring MVC

BlobStoreContext context = ContextBuilder.newBuilder("cloudfiles-us").credentials("username","password").buildView(BlobStoreContext.class); 

я получаю следующее исключение:

com.google.inject.CreationException: Guice creation errors: 

1) No implementation for com.google.common.base.Supplier<java.lang.String> annotated with @org.jclouds.openstack.swift.TemporaryUrlKey() was bound. 
    while locating com.google.common.base.Supplier<java.lang.String> annotated with @org.jclouds.openstack.swift.TemporaryUrlKey() 
    for parameter 4 at org.jclouds.openstack.swift.blobstore.SwiftBlobSigner.<init>(SwiftBlobSigner.java:88) 
    at org.jclouds.cloudfiles.CloudFilesApiMetadata$CloudFilesTemporaryUrlExtensionModule.bindRequestSigner(CloudFilesApiMetadata.java:101) 

2) No implementation for org.jclouds.openstack.swift.CommonSwiftClient was bound. 
    while locating org.jclouds.openstack.swift.CommonSwiftClient 
    for parameter 4 at org.jclouds.cloudfiles.blobstore.CloudFilesBlobStore.<init>(CloudFilesBlobStore.java:63) 
    at org.jclouds.cloudfiles.blobstore.config.CloudFilesBlobStoreContextModule.configure(CloudFilesBlobStoreContextModule.java:64) 

3) No implementation for org.jclouds.openstack.swift.CommonSwiftClient was bound. 
    while locating org.jclouds.openstack.swift.CommonSwiftClient 
    for parameter 0 at org.jclouds.openstack.swift.blobstore.strategy.internal.SequentialMultipartUploadStrategy.<init>(SequentialMultipartUploadStrategy.java:51) 
    while locating com.google.inject.Provider<org.jclouds.openstack.swift.blobstore.strategy.internal.MultipartUploadStrategy> 
    for parameter 14 at org.jclouds.cloudfiles.blobstore.CloudFilesBlobStore.<init>(CloudFilesBlobStore.java:63) 
    at org.jclouds.cloudfiles.blobstore.config.CloudFilesBlobStoreContextModule.configure(CloudFilesBlobStoreContextModule.java:64) 

4) org.jclouds.rest.config.SyncToAsyncHttpApiProvider<org.jclouds.openstack.keystone.v1_1.AuthenticationClient, A> cannot be used as a key; It is not fully specified. 

5) org.jclouds.rest.config.SyncToAsyncHttpApiProvider<org.jclouds.rest.HttpClient, A> cannot be used as a key; It is not fully specified. 

6) org.jclouds.rest.config.SyncToAsyncHttpApiProvider<org.jclouds.cloudfiles.CloudFilesClient, A> cannot be used as a key; It is not fully specified. 

7) org.jclouds.rest.config.SyncToAsyncHttpApiProvider<org.jclouds.openstack.swift.extensions.TemporaryUrlKeyApi, A> cannot be used as a key; It is not fully specified. 

8) org.jclouds.rest.RestContext<org.jclouds.cloudfiles.CloudFilesClient, A> cannot be used as a key; It is not fully specified. 

9) No implementation for org.jclouds.location.suppliers.RegionIdToURISupplier$Factory was bound. 
    at org.jclouds.cloudfiles.config.CloudFilesRestClientModule$StorageAndCDNManagementEndpointModule.provideCDNUrl(CloudFilesRestClientModule.java:67) 

10) No implementation for org.jclouds.openstack.keystone.v1_1.suppliers.V1DefaultRegionIdSupplier$Factory was bound. 
    at org.jclouds.cloudfiles.config.CloudFilesRestClientModule$StorageAndCDNManagementEndpointModule.provideCDNUrl(CloudFilesRestClientModule.java:67) 

11) No implementation for org.jclouds.location.suppliers.RegionIdToURISupplier$Factory was bound. 
    at org.jclouds.cloudfiles.config.CloudFilesRestClientModule$StorageAndCDNManagementEndpointModule.provideStorageUrl(CloudFilesRestClientModule.java:76) 

12) No implementation for org.jclouds.openstack.keystone.v1_1.suppliers.V1DefaultRegionIdSupplier$Factory was bound. 
    at org.jclouds.cloudfiles.config.CloudFilesRestClientModule$StorageAndCDNManagementEndpointModule.provideStorageUrl(CloudFilesRestClientModule.java:76) 

13) No implementation for org.jclouds.openstack.keystone.v1_1.AuthenticationClient was bound. 
    at org.jclouds.rest.config.BinderUtils.bindHttpApiProvider(BinderUtils.java:106) 

14) No implementation for org.jclouds.rest.HttpClient was bound. 
    at org.jclouds.rest.config.BinderUtils.bindHttpApiProvider(BinderUtils.java:106) 

15) No implementation for org.jclouds.cloudfiles.CloudFilesClient was bound. 
    at org.jclouds.rest.config.BinderUtils.bindHttpApiProvider(BinderUtils.java:106) 

16) No implementation for org.jclouds.openstack.swift.extensions.TemporaryUrlKeyApi was bound. 
    at org.jclouds.rest.config.BinderUtils.bindHttpApiProvider(BinderUtils.java:106) 

16 errors 

Я не могу понять это, так как его довольно много в первой строке кода примера в этом точка ...

ответ

8

Вы используете jclouds 1.6.x или 1.7.0 с Java 7u51? Если это так, возможно, вы столкнулись с https://issues.apache.org/jira/browse/JCLOUDS-427. Вы можете обойти это, перейдя на Java 7u45 или обновив до jclouds 1.7.1.

+0

Я использую Java 7u51. Вот и все! –

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

  • Нет связанных вопросов^_^