title: Spring Data java.lang.NoSuchMethodError in grails
body: <p>I am using mongo db plugin and spring-data-neo4j in my grails application.</p>
  
  <p>I am using latest version of SDN and mongo db plugin.</p>
  
  <p>Here is my buildconfig : </p>
  
  <pre><code>grails.servlet.version = "3.0" // Change depending on target container compliance (2.5 or 3.0)
  grails.project.class.dir = "target/classes"
  grails.project.test.class.dir = "target/test-classes"
  grails.project.test.reports.dir = "target/test-reports"
  grails.project.work.dir = "target/work"
  grails.project.target.level = 1.6
  grails.project.source.level = 1.6
  //grails.project.war.file = "target/${appName}-${appVersion}.war"
  grails.server.port.http = 1111
  grails.project.fork = [
      // configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
      //  compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
  
      // configure settings for the test-app JVM, uses the daemon by default
      test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
      // configure settings for the run-app JVM
      run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
      // configure settings for the run-war JVM
      war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
      // configure settings for the Console UI JVM
      console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
  ]
  
  grails.project.dependency.resolver = "maven" // or ivy
  grails.project.dependency.resolution = {
      // inherit Grails' default dependencies
      inherits("global") {
          // specify dependency exclusions here; for example, uncomment this to disable ehcache:
          // excludes 'ehcache'
      }
      log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
      checksums true // Whether to verify checksums on resolve
      legacyResolve false // whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility
  
      repositories {
          inherits true // Whether to inherit repository definitions from plugins
  
          grailsPlugins()
          grailsHome()
          mavenLocal()
          grailsCentral()
          mavenCentral()
          // uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
          //mavenRepo "http://repository.codehaus.org"
          //mavenRepo "http://download.java.net/maven/2/"
          //mavenRepo "http://repository.jboss.com/maven2/"
      }
  
      dependencies {
          // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g.
          // runtime 'mysql:mysql-connector-java:5.1.29'
          // runtime 'org.postgresql:postgresql:9.3-1101-jdbc41'
          test "org.grails:grails-datastore-test-support:1.0-grails-2.4"
  
          compile 'org.springframework.data:spring-data-neo4j-rest:3.2.0.RELEASE'
  
      }
  
      plugins {
          // plugins for the build system only
          build ":tomcat:7.0.55"
  
          // plugins for the compile step
          compile ":scaffolding:2.1.2"
          compile ':cache:1.1.7'
          compile ":asset-pipeline:1.9.6"
  
          // plugins needed at runtime but not for compilation
          runtime ":hibernate4:4.3.5.5" // or ":hibernate:3.6.10.17"
          runtime ":database-migration:1.4.0"
          runtime ":jquery:1.11.1"
  
          compile ":mongodb:3.0.2"
  
          // Uncomment these to enable additional asset-pipeline capabilities
          //compile ":sass-asset-pipeline:1.9.0"
          //compile ":less-asset-pipeline:1.10.0"
          //compile ":coffee-asset-pipeline:1.8.0"
          //compile ":handlebars-asset-pipeline:1.3.0.3"
      }
  }
  </code></pre>
  
  <p>With this configuration i am getting following error : </p>
  
  <pre><code>Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'mongoTransactionManager' while setting constructor argument with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/TypeInformation;
      Line | Method
  -&gt;&gt;  334 | innerRun  in java.util.concurrent.FutureTask$Sync
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    166 | run       in java.util.concurrent.FutureTask
  |   1146 | runWorker in java.util.concurrent.ThreadPoolExecutor
  |    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    701 | run . . . in java.lang.Thread
  Caused by BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'mongoTransactionManager' while setting constructor argument with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/TypeInformation;
  -&gt;&gt;  334 | innerRun  in java.util.concurrent.FutureTask$Sync
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    166 | run       in java.util.concurrent.FutureTask
  |   1146 | runWorker in java.util.concurrent.ThreadPoolExecutor
  |    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    701 | run . . . in java.lang.Thread
  Caused by BeanCreationException: Error creating bean with name 'mongoTransactionManager': Cannot resolve reference to bean 'mongoDatastore' while setting bean property 'datastore'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/TypeInformation;
  -&gt;&gt;  334 | innerRun  in java.util.concurrent.FutureTask$Sync
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    166 | run       in java.util.concurrent.FutureTask
  |   1146 | runWorker in java.util.concurrent.ThreadPoolExecutor
  |    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    701 | run . . . in java.lang.Thread
  Caused by BeanCreationException: Error creating bean with name 'mongoDatastore': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/TypeInformation;
  -&gt;&gt;  334 | innerRun  in java.util.concurrent.FutureTask$Sync
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    166 | run       in java.util.concurrent.FutureTask
  |   1146 | runWorker in java.util.concurrent.ThreadPoolExecutor
  |    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    701 | run . . . in java.lang.Thread
  Caused by NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/TypeInformation;
  -&gt;&gt;  255 | createMongoTemplate in org.grails.datastore.mapping.mongo.MongoDatastore
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    221 | afterPropertiesSet in     ''
  |     54 | getObject in org.grails.datastore.gorm.mongo.bean.factory.MongoDatastoreFactoryBean
  |    334 | innerRun  in java.util.concurrent.FutureTask$Sync
  |    166 | run . . . in java.util.concurrent.FutureTask
  |   1146 | runWorker in java.util.concurrent.ThreadPoolExecutor
  |    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    701 | run       in java.lang.Thread
  </code></pre>
  
  <p>I am using grails 2.4.3 and groovy 2.3.</p>