解决,springboot项目访问hdfs文件提示guava版本不兼容,Spring Boot项目访问HDFS文件时遇到的Guava版本不兼容问题解决方案

马肤

温馨提示:这篇文章已超过425天没有更新,请注意相关的内容是否还可用!

摘要:在Spring Boot项目中访问HDFS文件时遇到Guava版本不兼容的问题。这可能是由于Spring Boot所依赖的Guava版本与HDFS客户端库不兼容所致。为了解决这个问题,可以尝试升级或降级Guava库版本,确保它与HDFS客户端库兼容。还可以检查项目的依赖管理,确保没有引入冲突的Guava版本。通过以上措施,可以成功解决Spring Boot项目访问HDFS文件时的Guava版本不兼容问题。

我所使用的Hadoop版本为3.1.3,项目可以正常启动,但在尝试调用访问HDFS服务时遇到错误,具体的报错信息为:com.google.common.base.preconditions.checkArgument(ZL java/lang/String;Ljava/lang/Object:)V

原因分析:

java.lang.NoSuchMethodError错误表明在运行时尝试调用一个不存在的方法。

com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object:)V这个方法找不到,这通常是因为类路径(classpath)上存在不兼容的版本。

Apache Hadoop使用Guava库(之前叫做Google Collections),Guava库中的Preconditions类提供了各种前置条件检查的方法,这个错误表明项目中包含的Guava库版本与Hadoop预期的版本不一致。

可能的原因是项目中包含了一个较旧或较新的Guava版本,而这个版本中没有Configuration.java文件中调用的那个特定方法签名。

附加图片(报错截图或相关日志):

解决,springboot项目访问hdfs文件提示guava版本不兼容,Spring Boot项目访问HDFS文件时遇到的Guava版本不兼容问题解决方案 第1张

解决方法

在项目的pom文件中加入与hadoop版本兼容的guava版本:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>21.0</version> <!-- 请确认此版本是否与你的Hadoop版本兼容 -->
</dependency>

补充知识

Guava库介绍:

Guava库是由Google开发和维护的一组开源的Java库,它提供了许多Google内部Java项目依赖的核心库,Guava库包含了大量用于集合、缓存、支持原语操作、并发库、通用注解、字符串处理、I/O等的实用工具类和增强功能,使用Guava库可以帮助开发者写出更加简洁、可读性更强、更可靠的Java代码,同时提高代码质量,减少开发时间,并鼓励使用Java平台的最佳实践,Guava库在Java开发者中非常受欢迎,是Java开发中不可或缺的工具之一。

请确保你所选用的Guava版本与Hadoop版本兼容,避免因版本不匹配导致的问题,如果21.0版本不兼容,请查找并选用与Hadoop 3.1.3版本相匹配的Guava版本。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码