我是Elasticsearch的新手。 我的项目很顺利。使用这些依赖项;
implementation('org.springframework.boot:spring-boot-starter-data-elasticsearch')
compile group: 'org.elasticsearch.client', name: 'transport', version: '6.5.0'
springBootVersion = '2.0.3.RELEASE' , Java Version1.8
我的项目是由intellij构建的,正在运行。 (渐变构建已完成)
我的问题是我想在终端上运行我的项目,所以我在终端上得到gradle bootRun
,但遇到此错误NoClassDefFoundError: org/elasticsearch/script/ScriptEngine
答案 0 :(得分:0)
我建议使用版本ucs-bom
,因为它支持JDK11,但更重要的是使用6.5.3
而不是RestHighLevelClient
。根据版本7中的文档,TransportClient
已过时。在版本8中,它将从代码库中删除。
因此,如果您选择TransportClient
,则应该获得更长的支持。
RestHighLevelClient
答案 1 :(得分:0)
我解决了这个问题。我们必须处理spring-data-elasticsearch和elasticsearch-client之间的版本使用情况
spring data elasticsearch elasticsearch
3.2.x 6.5.0
3.1.x 6.2.2 (I used)
3.0.x 5.5.0
2.1.x 2.4.0
2.0.x 2.2.0
1.3.x 1.5.2
Spring Boot Version (x) Spring Data ESearch Version (y) ESearch Version (z)
x <= 1.3.5 y <= 1.3.4 z <= 1.7.2*
x >= 1.4.x 2.0.0 <=y < 5.0.0** 2.0.0 <= z < 5.0.0**