3
votes

liquibase.integration.spring.SpringLiquibase est disponible à partir de 2 emplacements erreur dans le démarrage du printemps

J'essaie d'intégrer spring boot avec liquibase, mais quand je lance l'application, cela génère l'erreur suivante:

dependencies {
        compile('org.springframework.boot:spring-boot-starter-actuator')
        compile 'org.springframework.boot:spring-boot-starter-web'

        runtime('org.postgresql:postgresql:42.2.5')

        compile 'org.webjars:bootstrap:4.1.3'
        compile 'org.webjars:webjars-locator-core'

        compile("org.springframework.boot:spring-boot-starter-data-jpa")
        compile("org.hibernate:hibernate-entitymanager:4.3.4.Final")
        compile("org.hibernate:hibernate-validator:6.0.16.Final")
        compile ("org.hibernate:hibernate-core:5.4.1.Final")

        testCompile 'org.springframework.boot:spring-boot-starter-test'

        compile("org.liquibase:liquibase-core:3.5.5")

        liquibaseRuntime 'org.liquibase:liquibase-gradle-plugin:2.0.1'
        liquibaseRuntime 'org.liquibase:liquibase-groovy-dsl:2.0.2'
        liquibaseRuntime "org.liquibase:liquibase-core:3.5.5"
        liquibaseRuntime 'org.postgresql:postgresql:42.2.5'
    }

Il semble que le problème soit donné par spring-boot- starter-data-jpa, dès que je supprime la dépendance, l'application fonctionne correctement. C'est ma liste complète de dépendances, mais j'aurais également besoin de JPA pour écrire mes classes de persistance.

An attempt was made to call the method liquibase.integration.spring.SpringLiquibase.setLiquibaseSchema(Ljava/lang/String;)V but it does not exist. Its class, liquibase.integration.spring.SpringLiquibase, is available from the following locations:

    jar:file:/C:/Users/Dev/.gradle/caches/modules-2/files-2.1/org.liquibase/liquibase-core/3.5.5/c65051f327382018bd09c30380f25eac96f210da/liquibase-core-3.5.5.jar!/liquibase/integration/spring/SpringLiquibase.class

It was loaded from the following location:

    file:/C:/Users/Dev/.gradle/caches/modules-2/files-2.1/org.liquibase/liquibase-core/3.5.5/c65051f327382018bd09c30380f25eac96f210da/liquibase-core-3.5.5.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of liquibase.integration.spring.SpringLiquibase

Une idée de la raison pour laquelle il y a une discordance? Merci d'avance


0 commentaires

3 Réponses :


0
votes

On dirait que deux dépendances différentes incluent un fichier jar en double.

Il semble y avoir un plugin qui gère les dépendances dans Gradle, jetez un œil ici .


0 commentaires

10
votes

Supprimez la version de votre configuration:

compile("org.liquibase:liquibase-core")

Laissez Spring Dependency Management s'occuper de cela pour vous.


0 commentaires

1
votes

Dans mon cas, la mise à niveau vers Spring Boot 2.1.0.RELEASE et org.liquibase: liquibase-core: 3.6.3 a entièrement résolu le problème.


0 commentaires