解决: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://www.mzph.cn/news/751635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

企业内部培训考试系统培训计划功能说明

培训计划是预设好的一套课程系列&#xff0c;包含课程和考试&#xff0c;分多个阶段&#xff0c;每完成一个阶段就会在学习地图上留下标记&#xff0c;让用户看到自己的努力成果&#xff0c;增强成就感&#xff0c;从而坚持完成课程。 企业内部培训考试系统中如何设置培训计划…

基于springboot的购物商城管理系统

1.项目简介 1.1 用户简介 用户主要分为管理员和用户端&#xff1a; 管理员&#xff1a; 管理员可以对后台数据进行管理、拥有最高权限、具体权限有登录后进行首页轮播图的配置管理、商品的配置、新品家具商城的配置管理、、家具商城分类管理配置、家具商城详情商品管理、用户…

Git 下载时需要使用代理?

食用方法 在命令行中&#xff0c;你可以使用以下命令来设置Git的HTTP和HTTPS代理&#xff1a; git config --global http.proxy http://127.0.0.1:6890 git config --global https.proxy https://127.0.0.1:6890 注意是根据自己的实际情况修改IP和端口号 注意如果不想全局配置…

react-面试题

一、组件基础 1. React 事件机制 <div onClick{this.handleClick.bind(this)}>点我</div> React并不是将click事件绑定到了div的真实DOM上&#xff0c;而是在document处监听了所有的事件&#xff0c;当事件发生并且冒泡到document处的时候&#xff0c;React将事…

网络安全JavaSE第二天(持续更新)

3. 基本数据与运算 3.6 运算符 3.6.1 算术运算符 在 Java 中&#xff0c;算术运算符包含&#xff1a;、-、*、/、% public class ArithmeticOperator { public static void main(String[] args) { int a 10; // 定义了一个整型类型的变量 a&#xff0c;它的值是 10 int b …

区块链推广海外市场怎么做,CloudNEO服务商免费为您定制个性化营销方案

随着区块链技术的不断发展和应用场景的扩大&#xff0c;区块链项目希望能够进入海外市场并取得成功已成为越来越多公司的目标之一。然而&#xff0c;要在海外市场推广区块链项目&#xff0c;需要采取有效的营销策略和措施。作为您的区块链项目营销服务商&#xff0c;CloudNEO将…

后端程序员入门react笔记(八)-redux的使用和项目搭建

一个更好用的文档 添加链接描述 箭头函数的简化 //简化前 function countIncreAction(data) {return {type:"INCREMENT",data} } //简化后 const countIncreAction data>({type:"INCREMENT",data })react UI组件库相关资料 组件库连接和推荐 antd组…

Python 多线程大批量处理文件小程序

说明 平时偶尔需要进行重复性的对文件进行重命名、格式转化等。假设以文件复制功能作为目标&#xff0c;设计一个小程序使用多线程对文件进行批量复制。&#xff08;其实以后主要目标是针对Realsense的raw文件进行批量的转化&#xff0c;并借助多线程加速&#xff09; 代码 i…

uv 必备的工具 ps ai 全家桶合集

非常稀有的资源 &#xff0c;必应搜索 易品资源yipinziyuan 可以找到

sqllab第二十关通关笔记

知识点&#xff1a; cookie注入 可以进行url解析错误注入传参位置 get请求post请求cookie传参 输入admin admin进行登录&#xff0c;抓取当前数据包 通过放包发现是一个302跳转的响应包&#xff0c;页面只有一个 I Love Cookies&#xff1b;没什么信息 通过点击页面上方的按钮…

若你有才能,最好能遇上识才之人,高俅发迹的故事很好诠释了千里马与伯乐的关系

若你有才能&#xff0c;最好能遇上识才之人&#xff0c;高俅发迹的故事很好诠释了千里马与伯乐的关系 其实&#xff0c;“千里马”和“伯乐”都是中国古代传说里的角色。伯乐是古代一个善于相马&#xff08;识别马的好坏&#xff09;的人&#xff0c;而“千里马”则是指一匹能跑…

数通-路由技术基础介绍

自治系统——AS&#xff1b;LAN和广播域&#xff1b;CN-2——精品线路 路由器互联网段为同网段&#xff08;不同网段会造成三层不通&#xff0c;非直连则不会产生直连路由&#xff09; 路由选路&#xff0c;一个路由器的各个接口不能配置相同网段。 IP路由表&#xff1a;例&…

前端学习之css样式 背景样式、字体样式、列表样式、边框样式、内外边距元素属性的转换

背景样式 html文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>背景样式</title><link rel"stylesheet" href"../css/3.1背景样式.css"> </head> <bo…

华为云APIG跨域资源共享方案

## 浏览器的同源策略 浏览器的同源策略是一种安全机制&#xff0c;旨在保护用户的信息安全和隐私。它限制了一个网页的脚本只能与来自同一源的资源进行交互&#xff0c;即同源策略要求页面中加载的所有资源&#xff08;包括脚本、样式表、图片等&#xff09;必须来自相同的**域…

python之万花尺

1、使用模块 import sys, random, argparse import numpy as np import math import turtle import random from PIL import Image from datetime import datetime from math import gcd 依次使用pip下载即可 2、代码 import sys, random, argparse import numpy as np imp…

通俗易懂的Python循环讲解

循环用于重复执行一些程序块。从上一讲的选择结构&#xff0c;我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。 for循环 for循环需要预先设定好循环的次数(n)&#xff0c;然后执行隶属于for的语句n次。 基本构造是 for 元素 in 序列: statemen…

【设计模式】Java 设计模式之装饰者模式(Decorator)

装饰者模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许用户通过在一个对象上动态地添加一些职责来增强其功能。这种模式将对象的核心职责与装饰功能分开&#xff0c;使得用户可以在运行时根据需要添加或删除装饰功能。 一、装饰者模式概…

进程间通信——匿名管道

匿名管道代码实现&#xff1a; #include <iostream> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> #include <string> using namespace std; int main() {int fd[2…

云原生 IaaS 服务:构建下一代云计算基础设施

随着云计算技术的不断演进&#xff0c;云原生成为了现代应用开发和部署的主流趋势。在当今这个快速变化的数字化时代&#xff0c;企业越来越需要灵活、可伸缩、自动化的基础设施来支持他们的业务需求。而云原生 IaaS&#xff08;Infrastructure as a Service&#xff09;服务则…