В моем файле build.gradle у меня есть зависимость
implementation group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.0.3.RELEASE'
Но на самом деле библиотеки для этой зависимости предназначены дляasticsearch v6.
неправильные зависимости es6
но мойasticsearch - версия 5, это вызывает несовместимое исключение. Затем я удаляю
apply plugin: 'io.spring.dependency-management'
тогда я могу получить зависимость для ES5. Но после удаления тестовые коды выдают ошибку «не удается разрешить сомбол XXX», все классы из основной папки не доступны для кода в тестовой папке.
Файл build.gradle находится ниже:
buildscript {
ext {
springBootVersion = '2.1.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
//if enable io.spring.dependency-management, elasticsearch will always use the latest version 6,
//but my elasticsearch is version 5
apply plugin: 'io.spring.dependency-management'
group = 'com.jdc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-webflux:2.1.0.RELEASE')
implementation group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.0.3.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.1.0.RELEASE'
implementation('org.projectlombok:lombok:1.18.2')
testImplementation("org.springframework.boot:spring-boot-starter-test:2.1.0.RELEASE")
testImplementation('io.projectreactor:reactor-test:3.2.2.RELEASE')
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.hamcrest', name: 'hamcrest-core', version: '1.3'
implementation group: 'org.apache.derby', name: 'derby', version: '10.14.2.0'
implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.5.0'
}