Java Mongock失败:NoClassDefFoundError org/springframework/data/mongodb/MongoDatabaseFactory

Java Mongock失败:NoClassDefFoundError org/springframework/data/mongodb/MongoDatabaseFactory,java,spring-boot,spring-mongo,mongock,Java,Spring Boot,Spring Mongo,Mongock,我在spring boot应用程序中使用以下pom: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.13.RELEASE</version> <relativePath /><

我在spring boot应用程序中使用以下pom:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.13.RELEASE</version>
    <relativePath /><!-- resolve parent from repository, refer to http://www.tomitribe.com/blog/2016/06/i-do-not-hate-apache-maven/ -->
  </parent>

<dependencies>
        <dependency>
            <groupId>com.github.cloudyrock.mongock</groupId>
            <artifactId>mongock-bom</artifactId>
            <version>4.3.8</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>com.github.cloudyrock.mongock</groupId>
            <artifactId>mongock-spring-v5</artifactId>
            <version>4.3.8</version>
        </dependency>
        <dependency>
            <groupId>com.github.cloudyrock.mongock</groupId>
            <artifactId>mongodb-springdata-v3-driver</artifactId>
            <version>4.3.8</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <version>4.2.2</version>
         </dependency>
         <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>2.2.12.RELEASE</version>
</dependency>
</dependencies>
但是,当我使用
-noverify
运行应用程序时,似乎一切正常


请,有人能帮我吗?

这是由于版本不兼容造成的

正如您在本文中看到的,您使用的Mongock版本与SpringData3.x兼容,但您使用的是2.x

Mongock为spring数据提供了两个驱动程序,mongodb-springdata-v3-driver用于spring数据3.x,mongodb-springdata-v2-drver用于spring数据2.2.x

我有几个建议:

  • 要么将spring数据依赖项升级到3.x,要么使用mongodb-springdata-v2-drver(推荐第一个)
  • 使用依赖项管理,这样就不需要为每个依赖项指定版本。你可以为春天和春天做这件事
  • 因此,您应该解决您的问题;)

    NoClassDefFoundError org/springframework/data/mongodb/MongoDatabaseFactory