Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected

Posted itLaity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected相关的知识,希望对你有一定的参考价值。

生命无罪,健康万岁,我是laity。

我曾七次鄙视自己的灵魂:

第一次,当它本可进取时,却故作谦卑;

第二次,当它在空虚时,用爱欲来填充;

第三次,在困难和容易之间,它选择了容易;

第四次,它犯了错,却借由别人也会犯错来宽慰自己;

第五次,它自由软弱,却把它认为是生命的坚韧;

第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;

第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。

异常

Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected

分析原因

由于elasticsearch的版本不对导致的,在SpringBoot项目中导入的Maven明明是对应的版本,但是插入数据就报错

上图可以发现 elasticsearch-rest-high-level-client 是7.4.2 但 elasticsearch与elasticsearch-rest-client的版本却是7.6.2

锁定原因

我这里使用的aliyun的springboot,但是aliyun已经集成了相应的elasticsearch版本

解决办法

作者这里采用的是 去除掉elasticsearch-rest-high-level-client中版本不一致的jar,再重新引入,并成功解决该异常。

		<!--导入elasticsearch-rest-high-level-client-->
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.4.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch</groupId>
                    <artifactId>elasticsearch</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.elasticsearch.client</groupId>
                    <artifactId>elasticsearch-rest-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.4.2</version>
        </dependency>

个人经验仅供参考哦~

以上是关于Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected的主要内容,如果未能解决你的问题,请参考以下文章

eth0: error fetching interface information: Device not found

Hive启动报错: Found class jline.Terminal, but interface was expected

如何解决虚拟机克隆导致"Bringing up interface eth0: Error: No suitable device found: no device found for c

Found class xxx.xxx.xxx, but interface was expected

java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

SpringBoot 提示:java.lang.IllegalStateException: No primary or default constructor found for interface