title: Nutch: NoClassDefFoundError: org/springframework/retry/RetryCallback
body: <p>I am running the normal Nutch indexing, it used to work 2 days ago perfectly but today out of nowhere it just stopped working with the previous error. Following the stack error:</p>
  
  <pre><code>Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/retry/RetryCallback
      at java.lang.Class.getDeclaredConstructors0(Native Method)
      at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
      at java.lang.Class.getConstructor0(Class.java:3075)
      at java.lang.Class.newInstance(Class.java:412)
      at org.apache.nutch.plugin.Extension.getExtensionInstance(Extension.java:161)
      at org.apache.nutch.indexer.IndexWriters.&lt;init&gt;(IndexWriters.java:55)
      at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:121)
      at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:228)
      at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
      at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:238)
  Caused by: java.lang.ClassNotFoundException: org.springframework.retry.RetryCallback
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      ... 10 more
  </code></pre>
  
  <p>I ended up seeing that the error occurred at this exact piece of code :</p>
  
  <pre><code>Object object = extensionClazz.newInstance();
  </code></pre>
  
  <p>Another <a href="https://stackoverflow.com/questions/34631770/spring-amqp-has-noclassdeffounderror-in-springframework-retrycallback-class">question</a> on SO but with different project was able to fix the issue by adding the spring-framework-messaging dependency </p>
  
  <pre><code>&lt;dependency&gt;
    &lt;groupId&gt;org.springframework&lt;/groupId&gt;
    &lt;artifactId&gt;spring-messaging&lt;/artifactId&gt;
    &lt;version&gt;4.2.4.RELEASE&lt;/version&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>well i am using nutch version 1.12 with ivy for dependency management so in my config is the following:</p>
  
  <pre><code>&lt;dependency org="org.springframework.retry" name="spring-retry" rev="1.2.0.RELEASE"&gt;
        &lt;exclude module="spring-beans"/&gt;
        &lt;exclude module="spring-context"/&gt;
        &lt;exclude module="spring-core"/&gt;
        &lt;exclude module="spring-aop"/&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>and even with adding the spring-messaging dependency it's still not working.
  Any ideas?</p>