Using Java Couchbase Client 1.2.0 to access to Couchbase Community 2.1.1 on AWS does not work

When trying to connect to Couchbase on AWS using Using Java Couchbase Client 1.2.0, I always got an exception of java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String...
I noticed that AWS uses an older version commons-codec-1.3.jar while Couchbase Client 1.2.0 uses commons-codec-1.5.jar, so I suspect that is the issue. However, I cannot find an older version of Couchbase Client that uses the 1.3 version. Both Couchbase Client 1.2.0 and 1.0.3 I found on Couchbase site use 1.5 version. I am wondering if someone ran into this issue and had a solution for this, please help!

Any input is appreciated.

Thanks,
Phong

Hello,

I am not sure to understand what you mean when you say:

I noticed that AWS uses an older version commons-codec-1.3.jar

AWS does not "do anything" with Java it is an IaaS.

Could you clarify?

You should be able to take all the Java Client 1.2.0 dependencies and use them in your environment.

How do you package and deploy your application?

Regards
Tug
@tgrall

I have created an an AMI with Couchbase server using the amazon market place by the following link: https://aws.amazon.com/marketplace/pp/B0085EC3N0/ref=csl_ec2_dash_featur...
and it looks like the Couchbase server is using commons-codec-1.3.jar while the Java Couchbase Client that I have downloaded from Couchbase server uses a later version 1.5, so there is a conflict.

3 Answers

« Back to question.

Hey,
We are trying something similar. Using the Couchbase java sdk to connect to EC2 node to load and read files.
We keep getting timeouts. Not sure what those timeouts are for.

« Back to question.

Hello,

I do not know where this Java stuff is coming from, but Couchbase Server does not use Java at all.

So you can replace and use your own dependencies in your application.

Regards
Tug
@tgrall

« Back to question.

Hello,

I do not know where this Java stuff is coming from, but Couchbase Server does not use Java at all.

So you can replace and use your own dependencies in your application.

Regards
Tug
@tgrall