title: Spring Data Couchbase - ClassNotFoundException for CustomConversions
body: <p>If <em><code>spring-data-couchbase 3.0.4</code></em> is used the following exception is raised:</p>
  
  <pre><code>java.lang.NoClassDefFoundError: org/springframework/data/convert/CustomConversions
  at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_25]
  at java.lang.Class.privateGetDeclaredMethods(Class.java:2693) ~[na:1.8.0_25]
  at java.lang.Class.getDeclaredMethods(Class.java:1967) ~[na:1.8.0_25]
  at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
  ...
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
  at com.avaya.ept.couchbase.CouchbaseApplication.main(CouchbaseApplication.java:9) [main/:na]
  Caused by: java.lang.ClassNotFoundException: org.springframework.data.convert.CustomConversions
  at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_25]
  at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_25]
  at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_25]
  at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_25]
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_25]
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_25]
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_25]
  ... 31 common frames omitted
  </code></pre>
  
  <p><em><code>Couchbase</code> configuration is default:</em></p>
  
  <pre><code>@Configuration
  @EnableCouchbaseRepositories(basePackages={"com.test.couchbase.repositories"})
  public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
  
  public static final List&lt;String&gt; NODE_LIST = Arrays.asList("couchbase");
  public static final String BUCKET_NAME = "test_name";
  public static final String BUCKET_PASSWORD = "test_password";
  
  @Override
  protected List&lt;String&gt; getBootstrapHosts() {
      return NODE_LIST;
  }
  
  @Override
  protected String getBucketName() {
      return BUCKET_NAME;
  }
  
  @Override
  protected String getBucketPassword() {
      return BUCKET_PASSWORD;
  }
  </code></pre>
  
  <p>There is no such error if <code>spring-data-couchbase 2.2.10</code> is used.</p>
  
  <p><strong>UPD:</strong></p>
  
  <p>I found some details. <em><code>spring-data-couchbase 3.0.4</code></em> uses class <code>org.springframework.core.ReactiveTypeDescriptor</code> and interface <code>org.springframework.core.ErrorCoded</code>. The class has been added in Spring 5.0.0 release, the interface has been removed from Spring 5.0.0 release.
  What Spring release do I need to use to use <em><code>spring-data-couchbase 3.0.4</code></em>?</p>