解决:springboot项目访问hdfs文件提示guava版本不兼容

1、问题描述

        版本说明:我用的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 类提供了各种前置条件检查的方法。NoSuchMethodError 表明项目中包含的 Guava 库版本与 Hadoop 预期的版本不一致。可能的情况是,项目中包含了一个较旧或较新的 Guava 版本,而这个版本中没有 Configuration.java 文件中调用的那个特定方法签名。

2、解决方法

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

        <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>21.0</version></dependency>
3、补充知识
  • guava库:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2871733.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

电脑文件误删除如何恢复?分享三个简单数据恢复方法

在日常使用电脑的过程中&#xff0c;文件误删除的情况时有发生。无论是由于操作失误还是病毒感染&#xff0c;丢失的文件都可能对我们的工作和学习造成极大的影响。因此&#xff0c;掌握文件恢复的方法显得尤为重要。下面围绕“电脑文件误删除如何恢复”这一主题&#xff0c;给…

设计模式学习笔记 - 设计原则与思想总结:1.总结回顾面向对象、设计原则、编程规范、重构技巧等知识点

概述 对前面的内容的回顾&#xff0c;温故而知新&#xff0c;包括&#xff1a;面向对象、设计原则、规范与重构三个模块的内容。 1.代码质量评判标准 如何评价代码质量的高低&#xff1f; 代码质量的评价具有很强的主观性&#xff0c;描述代码质量的词汇也有很多&#xff0c…

瑞_Redis_短信登录_Redis代替session的业务流程

文章目录 项目介绍1 短信登录1.1 项目准备1.2 基于Session实现登录流程1.3 Redis代替session的业务流程1.3.1 设计key的结构1.3.2 设计key的具体细节1.3.3 整体访问流程1.3.4 代码实现 &#x1f64a; 前言&#xff1a;本文章为瑞_系列专栏之《Redis》的实战篇的短信登录章节的R…

uni-app发布 h5 与ASP .NET MVC 后台 发布 到 IIS的同一端口 并配置跨域

iis 安装URL重写 选择对应的后台项目&#xff0c;进行url重写 编辑【模式】部分的内容的重写规则&#xff0c;我这里是h5中请求的前缀是api&#xff0c;大家可以根据自己的前缀进行修改。 编写【操作类型】为重写&#xff0c;并写重写url&#xff0c;按照图中设置即可。 uni…

R语言深度学习-6-模型优化与调试

本教程参考《RDeepLearningEssential》 这是本专栏的最后一篇文章&#xff0c;一路走来&#xff0c;大家应该都可以独立的建立一个自己的神经网络进行特征学习和预测了吧&#xff01; 6.1 缺失值处理 在我们使用大量数据进行建模的时候&#xff0c;缺失值对模型表现的影响非常…

研究生总结

Note:本博客更多是关于自己的感悟&#xff0c;没有翻阅文件详细查证&#xff0c;如果存在错过&#xff0c;也请提出指正。 1. 半监督回归 相比于半监督分类&#xff0c;半监督回归相对冷门。回归和分类之间有着难以逾越的天谴&#xff0c;预测精度。分类中的类别是可数的&…

Flutter开发进阶之使用工具效率开发

Flutter开发进阶之使用工具效率开发 软件开发团队使用Flutter开发的原因通常是因为Flutter开发性能高、效率高、兼容性好、可拓展性高&#xff0c;作为软件PM来说主要考虑的是范围管理、进度管理、成本管理、资源管理、质量管理、风险管理和沟通管理等&#xff0c;可以看到Flu…

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos&#xff0c; 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

Java SE 认识异常 (Java SE完结篇)

1. 异常的概念与体系结构 1.1 异常的概念 在我们的生活中,一个人如果表情痛苦,我们可能会问: 你是生病了吗? 需要我陪你去看医生吗? 程序也和人是一样的,均会发生一些"生病"的行为,比如: 数据格式不对, 数组越界,网络中断等, 我们把这种程序出现的"生病&qu…

Ps:文字工具

工具箱里的文字工具组中包含了四种工具&#xff1a; 横排文字工具 Horizontal Type Tool 直排文字工具 Vertical Type Tool 横排文字蒙版工具 Horizontal Type Mask Tool 直排文字蒙版工具 Vertical Type Mask Tool 快捷键&#xff1a;T 横排文字蒙版工具和直排文字蒙版工具…

iOS--第二章block

第二章block blocks 概要Blocks模式Blocks语法Blocks类型变量截获自动变量值_block 说明符 Blocks的实现Block的实质截获自动变量值_block说明符Block存储域 blocks 概要 Blocks是c语言的扩展&#xff0c;block是一个带有自动变量值的匿名函数&#xff0c;它也是一个数据类型&…

Lua面向对象

封装 实现了New方法&#xff0c;相当于创建了一个表obj&#xff0c;并设置元表可以通过obj表去访问__index指向表中的数据 继承 通过大G表传入字符串创建表&#xff0c;

安卓国产百度网盘与国外云盘软件onedrive对比

我更愿意使用国外软件公司的产品&#xff0c;而不是使用国内百度等制作的流氓软件。使用这些国产软件让我不放心&#xff0c;他们占用我的设备大量空间&#xff0c;在我的设备上推送运行各种无用的垃圾功能。瞒着我&#xff0c;做一些我不知道的事情。 百度网盘安装包大小&…

golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制

文章目录 golang常用库之-ladon包 | 基于策略的访问控制概念使用策略 条件 Conditions自定义conditionLadon Condition使用示例 持久化访问控制(Warden) 结合 Gin 开发一个简易 ACL 接口参考 golang常用库之-ladon包 | 基于策略的访问控制 https://github.com/ory/ladon Lado…

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用&#xff0c;比如在和美术同事合作开发一个背包UI业务系统时&#xff0c;美术做好效果图后&#xff0c;程序在UGUI中制作好界面&#xff0c;美术说这个图差了2像素&#xff0c;那个图位置不对差了1像素&#xff0c;另外一个图大小不对等等一系列零碎的…

从零自制docker-4-【PID Namespace MOUNT Namespace】

文章目录 PID namespace代码mountnamespace通俗理解代码 PID namespace 每个命名空间都有独立的PID空间&#xff0c;即每个命名空间的进程都由一开始分配。 新建立的进程内部进程ID为1 代码 package main import ("log""os/exec""os""sy…

MySQL_数据库图形化界面软件_00000_00001

目录 NavicatSQLyogDBeaverMySQL Workbench可能出现的问题 Navicat 官网地址&#xff1a; 英文&#xff1a;https://www.navicat.com 中文&#xff1a;https://www.navicat.com.cn SQLyog 官网地址&#xff1a; 英文&#xff1a;https://webyog.com DBeaver 官网地址&…

Spring MVC文件上传配置

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 文件上传 Spring MVC文件上传基于Servlet 3.0实现&#xff1b;示例代码如下&#xff1a; Overrideprotected void customizeRegistration(ServletRegistration.Dynamic reg…

【开源鸿蒙】编译OpenHarmony轻量系统QEMU RISC-V版

文章目录 一、背景介绍二、准备OpenHarmony源代码三、准备hb命令3.1 安装hb命令3.2 检查hb命令 四、编译RISC-V架构的OpenHarmony轻量系统4.1 设置hb构建目标4.2 启动hb构建过程 五、问题解决5.1 hb set 报错问题解决 六、参考链接 开源鸿蒙坚果派&#xff0c;学习鸿蒙一起来&a…

AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX概念和axios使用 AJAX概念 AJAX就是使用XMLHttpRequest对象与服务器通信&#xff0c;它可以使用JSON、XML、HTML和text文本等格式发送和接收数据&#xff0c;AJAX最吸引人的就是它的异步特性&#xff0c;也就是说它可以在不重新刷新页面的情况下与服务器通信&#xff0c;…