Reputation: 11
``I am getting the following exception while instantiatingthg mongoTemplate
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/data/mapping/model/FieldNamingStrategy at org.springframework.data.mongodb.core.MongoTemplate.getDefaultMongoConverter(MongoTemplate.java:1962) at org.springframework.data.mongodb.core.MongoTemplate.(MongoTemplate.java:210) at org.springframework.data.mongodb.core.MongoTemplate.(MongoTemplate.java:174) at com.adobe.ffc.controller.MongoDBTest.createData(MongoDBTest.java:29) at com.adobe.ffc.controller.MongoDBTest.main(MongoDBTest.java:24) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: java.lang.ClassNotFoundException: org.springframework.data.mapping.model.FieldNamingStrategy at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 10 more
Process finished with exit code 1 the error is coming from line 1 in the following code :
MongoOperations mongoOps = new MongoTemplate(new Mongo(),"database");
User user = new User();
user.setId("200");
user.setFullName("Mongo Template");
user.setStatus("A");
user.setAge("29");
mongoOps.insert(user);
The pom configration are as follows:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.11.4</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
Upvotes: 0
Views: 4251
Reputation: 6736
The problem is mixing Spring Data Release Trains with one another.
spring-data-mongodb 1.4
is part of Release Train Codd that requies to have spring-data-commons 1.7
, while spring-data-commons 1.5
which you're currently using was part of the Arora release.
So either downgrade to spring-data-mongodb 1.2
or upgrade to spring-data-commons 1.7
. Maybe also have a look at your dependencies and check for potential conflicts.
Sidenote: you can checout the spring data wiki pages to see which versions have been part of a particular release.
Upvotes: 1