spring-data-elasticsearch 2.1.4 升级 3.0.0 RC2 失败记录

来源:互联网 发布:java声明银行账户类锁 编辑:程序博客网 时间:2024/06/05 16:24

由于ES2.X的client使用的是jetty3,和系统使用的jetty4不兼容,并且看到最新的spring-data-elasticsearch支持了ES5.5.1,于是尝试升级:


step1. JAR升级,很简单,更换下仓库类名称即可

step2. 本人使用了elasticsearch-analysis-ik分词器,需要重新下载最新的elasticsearch-analysis-ik进行编译打包,替换原来的目录即可

step3. 项目刷新后出现错误了,有以下几个错误:

1)FieldType.String 不存在,看了下文档,替换为FieldType.keyword。

2)Operator.AND不存在,看了下文档,类的位置不一样,原来是

org.elasticsearch.index.query.MatchQueryBuilder.Operator

现在是

org.elasticsearch.index.query.Operator

step4.编译不出问题了,启动一次,报无法初始化bean,仔细一看,原来是报类实现找不到。最后发现RepositoryConfigurationExtensionSupport的接口实现不一致,最后仔细一看POM定义:

<springdata.commons>2.0.0.BUILD-SNAPSHOT</springdata.commons>

疯掉了,原来是必须使用2.0版本的接口定义啊,难不成整个spring-data体系全部都要上到SNAPSHOT版本?


仔细看了一边,确实是整个体系都上到2.0RC2了,没办法,只能把JPA,COMMONS也升级上去。记得MAVEN库要添加milestone的地址:

maven {        url 'https://repo.spring.io/libs-milestone'    }
不想直连spring的库,将几个库类全部下载到nexus私库了。。

step4. 疯掉了,把COMMONS和JPA也升级到RC2了,然后。。。然后又发现SPRING-BEANS又不匹配了,即使升级到RELEASE的最后一个版本也一样,估计SPRING也是基于什么SNAPSHOT版本开发的。。。


3个小时后最后放弃。。

算了,还是继续等spring-data 2.0体系最终release.

elasticsearch client的自己改下源码还是可以搞定。

原创粉丝点击