user2217149
user2217149

Reputation: 11

Not able to insert data using MongoTemplate of Spring data MongoDB

``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

Answers (1)

Christoph Strobl
Christoph Strobl

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

Related Questions