java: 无法访问com.google.protobuf.GeneratedMessageV3 找不到com.google.protobuf.GeneratedMessageV

cannot access com.google.protobuf.GeneratedMessageV3 

解决方法:在pom中添加相关依赖

<dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.5.1</version>
</dependency>

 

这个报错的意思是在使用Flink操作HDFS时,出现了类型转换错误。具体来说,Flink使用了Hadoop的protobuf库,而该库与Flink自带的protobuf库存在版本冲突,导致类型转换异常。 为了解决这个问题,可以尝试以下几个步骤: 1. 确认Flink和Hadoop的版本是否兼容。可以通过查看Flink和Hadoop的官方文档来确定它们之间的兼容性。 2. 如果版本兼容,可以尝试在Flink的pom.xml文件中加入以下依赖,以使用Hadoop自带的protobuf库: ``` <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> </dependency> ``` 3. 如果以上方法仍然无法解决问题,可以尝试手动排除Flink中的protobuf库,以使用Hadoop自带的protobuf库。具体来说,在Flink的pom.xml文件中加入以下依赖: ``` <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> <exclusions> <exclusion> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <scope>provided</scope> </dependency> ``` 注意,在以上代码中,`${protobuf.version}`和`${hadoop.version}`需要替换为实际的版本号。 希望以上方法可以帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值