Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Invalid
-
2.0.1
-
Linux, AWS-S3
-
Important
Description
There are two problems as such.
Here is my pom.xml for jclouds related stuff.
<dependency> <groupId>org.apache.jclouds</groupId> <artifactId>jclouds-all</artifactId> <version>${jclouds-all.version}</version> <exclusions> <exclusion> <artifactId>*</artifactId> <groupId>asm</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.jclouds.driver</groupId> <artifactId>jclouds-jsch</artifactId> <version>${jclouds-all.version}</version> </dependency> <dependency> <groupId>org.apache.jclouds</groupId> <artifactId>jclouds-core</artifactId> <version>${jclouds-all.version}</version> </dependency> <dependency> <groupId>org.apache.jclouds</groupId> <artifactId>jclouds-blobstore</artifactId> <version>${jclouds-all.version}</version> </dependency>
If I use this dependencies in my project, then while uploading a file to s3, I get class not found exception as I get old version of guava (11.x) which does not even have reflect package.
To sort this out, i explicitly add guava 19 and i am able to get past this problem. Next again when I am trying to upload a blob, I am getting
Caused by: org.jclouds.http.HttpException: did not receive ETag at org.jclouds.http.functions.ParseETagHeader.apply(ParseETagHeader.java:45) at org.jclouds.http.functions.ParseETagHeader.apply(ParseETagHeader.java:32) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156) at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123) at com.sun.proxy.$Proxy46.putObject(Unknown Source) at org.jclouds.s3.blobstore.S3BlobStore.putBlob(S3BlobStore.java:267) at org.jclouds.aws.s3.blobstore.AWSS3BlobStore.putBlob(AWSS3BlobStore.java:85) at org.jclouds.s3.blobstore.S3BlobStore.putBlob(S3BlobStore.java:246)
This is essentially how I am using jclouds
context = ContextBuilder.newBuilder(provider) .credentials(decriptedIdentity, decryptedCredentials) .buildView(BlobStoreContext.class); blobStore.blobBuilder(keyFromFileID) .payload(payload) .contentLength(payload.size()) .build();