【问题标题】:Not able to insert data using MongoTemplate of Spring data MongoDB无法使用 Spring 数据 MongoDB 的 MongoTemplate 插入数据
【发布时间】:2014-11-04 07:01:16
【问题描述】:

``我在实例化 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) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 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) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 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配置如下:

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

【问题讨论】:

  • 你能分享你的User课程吗?

标签: mongodb maven spring-data spring-data-mongodb spring-data-commons


【解决方案1】:

问题在于将 Spring Data Release Trains 相互混合。

spring-data-mongodb 1.4 是需要 spring-data-commons 1.7 的发布火车 Codd 的一部分,而您当前使用的 spring-data-commons 1.5Arora 发布的一部分。

所以要么降级到spring-data-mongodb 1.2,要么升级到spring-data-commons 1.7。也许还可以查看您的依赖项并检查潜在的冲突。

旁注:您可以查看spring data wiki 页面以查看哪些版本已成为特定版本的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2019-10-22
    • 2017-03-02
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多