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
3 Réponses :
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 .
Supprimez la version de votre configuration:
compile("org.liquibase:liquibase-core")
Laissez Spring Dependency Management s'occuper de cela pour vous.
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. p>