``我在实例化mongoTemplate
时遇到以下异常线程中的异常" main" java.lang.NoClassDefFoundError:org / springframework / data / mapping / model / FieldNamingStrategy 在org.springframework.data.mongodb.core.MongoTemplate.getDefaultMongoConverter(MongoTemplate.java:1962) 在org.springframework.data.mongodb.core.MongoTemplate。(MongoTemplate.java:210) 在org.springframework.data.mongodb.core.MongoTemplate。(MongoTemplate.java:174) 在com.adobe.ffc.controller.MongoDBTest.createData(MongoDBTest.java:29) 在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) 在com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 引起:java.lang.ClassNotFoundException:org.springframework.data.mapping.model.FieldNamingStrategy 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:366) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在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个
流程以退出代码1结束 错误来自以下代码中的第1行:
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);
pom configration如下:
<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>
答案 0 :(得分:1)
问题在于将Spring Data Release Trains相互混合。
spring-data-mongodb 1.4
是发布培训Codd的一部分,需要spring-data-commons 1.7
,而您当前正在使用的spring-data-commons 1.5
是Arora的一部分释放。
因此要么降级到spring-data-mongodb 1.2
要么升级到spring-data-commons 1.7
。也许还要查看您的依赖项并检查潜在的冲突。
旁注:您可以删除spring data wiki页面以查看哪些版本已成为特定版本的一部分。