首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原因: org.springframework.data.mongodb.core.MongoTemplate.<init>(Lcom/mongodb/Mongo;Ljava/lang/String;)V :java.lang.NoSuchMethodError

原因: org.springframework.data.mongodb.core.MongoTemplate.<init>(Lcom/mongodb/Mongo;Ljava/lang/String;)V :java.lang.NoSuchMethodError
EN

Stack Overflow用户
提问于 2018-12-03 11:11:13
回答 2查看 4.1K关注 0票数 4

在尝试运行Spring应用程序(v2.1.0)时出现以下错误:

描述:尝试调用方法org.springframework.data.mongodb.core.MongoTemplate.(Lcom/mongodb/Mongo;Ljava/lang/String;)V,但它不存在。它的类org.springframework.data.mongodb.core.MongoTemplate,可以从以下位置获得: org.springframework.data.mongodb.core.MongoTemplate是从以下位置加载的: file:/C:/Users/npatil/.m2/repository/org/springframework/data/spring-data-mongodb/2.1.2.RELEASE/spring-data-mongodb-2.1.2.RELEASE.jar 操作:更正应用程序的类路径,以便它包含一个兼容的org.springframework.data.mongodb.core.MongoTemplate版本

下面是我的博客里的一个蛇头:

代码语言:javascript
复制
<dependencies>
.
.
  <dependency>
    <groupId>com.github.mongobee</groupId>
    <artifactId>mongobee</artifactId>
    <version>0.13</version>
  </dependency>
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>2.1.2.RELEASE</version>
  </dependency>
.
.
</dependencies>

一些可能有帮助的jars版本如下:

spring-data-mongodb2.1.2.RELEASE

spring-web5.1.2.RELEASE

mongo-java-driver3.8.2.RELEASE

删除了.m2并做了mvn clean install,但即使这样也没有解决问题。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-12-11 07:34:24

看起来jar已损坏或丢失,请检查所有与spring相关的jar是否为4.x或更高版本,如果该版本有效的话:

蒙古依赖Spring4.xJAR,这可能与Spring 2.x发生冲突。

试试下面的方法

代码语言:javascript
复制
  @Bean
  public Mongobee mongobee(){
    Mongobee mongobee = new Mongobee("mongodb://localhost:27017/seed");
    mongobee.setChangeLogsScanPackage(InitialData.class.getPackageName());
            mongobee.setMongoTemplate(template);

    return mongobee;
  }
票数 1
EN

Stack Overflow用户

发布于 2018-12-13 13:32:36

如果使用Springboot 2,则需要更改蒙古蜜蜂 by 蒙哥克。语法几乎相同,因为Mongock项目是Mongobee项目的延续。

Springboot:

代码语言:javascript
复制
@Bean
public SpringBootMongock mongock(ApplicationContext springContext, MongoClient mongoClient) {
  return (SpringBootMongock) new SpringBootMongockBuilder(mongoClient, "yourDbName", "com.package.to.be.scanned.for.changesets")
      .setApplicationContext(springContext) 
      .setLockQuickConfig()
      .build();
}

弹簧:

代码语言:javascript
复制
@Bean
public SpringMongock mongock() {
  MongoClient mongoclient = new MongoClient(new MongoClientURI("yourDbName", yourMongoClientBuilder));
  return new SpringMongockBuilder(mongoclient, "yourDbName", "com.package.to.be.scanned.for.changesets")
      .setLockQuickConfig()
      .build();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53592595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档