Exception in thread "main" java.lang.NoSuchMethodError: rx.subjects.PublishSubject.toSerialized()Lrx/subjects/SerializedSubject;

Exception in thread "main" java.lang.NoSuchMethodError: rx.subjects.PublishSubject.toSerialized()Lrx/subjects/SerializedSubject;
	at com.couchbase.client.core.event.DefaultEventBus.<init>(DefaultEventBus.java:39)
	at com.couchbase.client.core.env.DefaultCoreEnvironment.<init>(DefaultCoreEnvironment.java:316)
	at com.couchbase.client.java.env.DefaultCouchbaseEnvironment.<init>(DefaultCouchbaseEnvironment.java:128)
	at com.couchbase.client.java.env.DefaultCouchbaseEnvironment.<init>(DefaultCouchbaseEnvironment.java:52)
	at com.couchbase.client.java.env.DefaultCouchbaseEnvironment$Builder.build(DefaultCouchbaseEnvironment.java:510)

My code:

CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder()
					.connectTimeout(30000) // 30000ms = 30s, default is 5s
					.build();

Make sure that your pom.xml contains valid dependency of Java SDK.

<dependency>
    <groupId>com.couchbase.client</groupId>
    <artifactId>java-client</artifactId>
    <version>2.3.4</version>
</dependency>

Also, if you are doing manual JAR dependency management you need to include RxJava (for 2.3.4 SDK pick RxJava 1.1.8).