Две версии Hibernate при использовании Spring boot - PullRequest
0 голосов
/ 14 мая 2019

Я четко указал последнюю версию Hibernate в моем файле build.gradle.Я обнаружил две разные версии файлов jar Hibernate, которые появились в моем списке библиотек зависимостей после запуска сборки.Spring boot представила более низкую версию, даже если я хочу использовать 5.4.2.Final.Должен ли я использовать версию, представленную загрузкой Spring, или есть способ переопределить ее более новой версией?

Я провел некоторое исследование, но не нашел ответ, который искал.

1 Ответ

1 голос
/ 14 мая 2019

См. Исключение транзитивных зависимостей : вы можете исключить hibernate библиотеки из транзитивных зависимостей Springboot, чтобы заставить Gradle использовать вашу версию.Сначала вам нужно проанализировать, какая зависимость Springboot зависит от hibernate-core (обычно это "org.springframework.boot:spring-boot-starter-data-jpa"): для этой цели вы можете использовать задачу gradle dependencies для просмотра графика зависимостей.

Затем вы можете исключитьконкретная переходная зависимость, как описано в документации:

dependencies{

    implementation ("org.springframework.boot:spring-boot-starter-data-jpa") {
        exclude group: "org.hibernate", module: "hibernate-core"
    }
    implementation "org.hibernate:hibernate-core:5.4.2.Final"
    ...
}

Помните, что обновление версии hibernate-core может иметь побочные эффекты на поведение библиотек, связанных с Spring Jpa (убедитесь, что используемая версия Springboot совместимас этой новой версией hibernate)

РЕДАКТИРОВАТЬ: существуют другие способы определения ограничений переходных зависимостей, обратитесь к официальной документации (например: Настройка поведения разрешения зависимостей )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...