引入依赖时,右键能点击进入,运行时报错

news2024/12/23 13:04:31

引入依赖时,右键能点击进入,运行时报错

  • 一、问题
  • 二、解决问题的过程
  • 三、解决方式
    • 1、排除其中一个依赖的公共包
    • 2、升级旧依赖

一、问题

我的问题是这样的:以前引入了阿里云文字识别的依赖,最近要调用视频活体检测的接口,引入相关依赖后,在测试调用的时候竟然报错了,还是阿里云依赖包里的错误。

原来引入的文字识别依赖的版本是“1.0.19”的

<dependency>
	<groupId>com.aliyun</groupId>
	<artifactId>ocr20191230</artifactId>
	<version>1.0.19</version>
</dependency>

新引入的视频活体检测依赖的版本是“5.0.1”的

<dependency>
	<groupId>com.aliyun</groupId>
	<artifactId>facebody20191230</artifactId>
	<version>5.0.1</version>
</dependency>

二、解决问题的过程

在调用视频活体检测时报错如下:

Exception in thread "main" java.lang.NoSuchMethodError: com.aliyun.openplatform20191219.Client.<init>(Lcom/aliyun/teaopenapi/models/Config;)V

在这里插入图片描述

看日志是没有“com.aliyun.openplatform20191219.Client”的构造器方法,心里纳闷,阿里那么多大佬,不至于犯这么低级的错误啊。我尾随报错的信息点进去,确实有这个构造器方法

在这里插入图片描述

再调用一下以前的文字识别的接口,能正常调用。

实在想不明白,就加了钉钉的群,问了一下阿里的技术人员,他说他那边是能正常调用的,可能是依赖冲突的问题。

于是我打开视频活体检测的依赖(左边),对比文字识别依赖(右边)

在这里插入图片描述

可以发现“com.aliyun.openplatform20191219.Client”这个类存在于两个依赖中,并且版本不一致!!!

于是就想把其中一个依赖的“com.aliyun.openplatform20191219”排除掉,本着高版本兼容低版本的原则,排除了文字识别中的对应依赖。

<dependency>
	<groupId>com.aliyun</groupId>
	<artifactId>ocr20191230</artifactId>
	<version>1.0.19</version>
	<exclusions>
		<exclusion>
			<groupId>com.aliyun</groupId>
			<artifactId>openplatform20191219</artifactId>
		</exclusion>
	</exclusions>
</dependency>

刷新依赖,确定这个包确实被排除了

在这里插入图片描述

其实还有共同的依赖,但是没有报那个包的错,这里先不管先。

但是排除后,再次调用视频活体检测接口,成功。

看看文字识别的接口是不是也能调用成功,很遗憾,轮到文字识别的接口报这个错了。

在这里插入图片描述

然后就想着试试升级一下文字识别接口的依赖,让共同包的版本一致,看看能不能解决。

我原来的文字识别依赖的版本是“1.0.19”的,观察发现“2.0.0”的,跟“5.0.1”版本的视频活体检测依赖是一致的。

在这里插入图片描述

行,就用这个版本的依赖试试。

结果两边都调用成功了。

三、解决方式

1、排除其中一个依赖的公共包

这个解决办法仅限被排除的包没有被使用。

比如我排除了文字识别中的“com.aliyun.openplatform20191219”包,排除之后视频活体检测检测能正常调用,但原来的文字识别也还要用,这时调用就会报错。

2、升级旧依赖

以前引入的依赖与新引入的依赖中存在共同包,并且版本不一致,将旧依赖升级,选择和新依赖版本共同包版本一致的依赖。

我引入的是阿里云的文字识别依赖和视频活体检测依赖,这是能兼容的的两个版本

<!-- https://mvnrepository.com/artifact/com.aliyun/ocr20191230 -->
<!--阿里云文字识别的相关依赖-->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>ocr20191230</artifactId>
    <version>2.0.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.aliyun/facebody20191230 -->
<!--阿里云视频活体检测的相关依赖-->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>facebody20191230</artifactId>
    <version>5.0.1</version>
</dependency>

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

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

相关文章

Linux CentOS 8(HTTPS的配置与管理)

Linux CentOS 8&#xff08;HTTPS的配置与管理&#xff09; 目录 一、HTTPS 介绍二、SSL 证书的介绍三、实验配置 一、HTTPS 介绍 HTTPS 在 HTTP 的基础下加入 SSL&#xff0c;SSL 是“Secure Sockets Layer”的缩写&#xff0c;中文为“安全套接层”。因此 HTTPS 是以安全为目…

解决MySQL需要根据特定顺序排序

文章目录 0 写在前面1 问题引入2 问题解决3 写在末尾 0 写在前面 在进行业务需求的时候&#xff0c;不会根据排序去选择数据。例如&#xff0c;在导出的时候数据排序是根据编辑时间去排序的&#xff0c;那么他的主键id会打乱。 假如&#xff1a; 要导出id为 3 &#xff0c;1 &…

Python学习笔记--构造(`__new__`)和初始化(`__init__`)

二、构造(__new__)和初始化(__init__) 通过之前的学习&#xff0c;我们已经知道定义一个类时&#xff0c;我们经常会通过 __init__(self) 的方法在实例化对象的时候&#xff0c;对属性进行设置。 比如下面的例子&#xff1a; #!/usr/bin/env python3 # -*- coding: UTF-8 -*…

WordPress页脚配置备案号

进入后台管理页面 后台管理页面地址一般是&#xff1a;域名/wp-admin 在指定位置加入代码 点击外观 -> 主题文件编辑器 在右侧的文件中选择 footer.php,[注意&#xff1a;上方的主题需要是你自己选择的对应的主题]在 </footer>标签这一行的上一行中加入代码 <di…

MySQL最新2023年面试题及答案,汇总版(1)【MySQL最新2023年面试题及答案,汇总版-第三十一刊】

文章目录 MySQL最新2023年面试题及答案&#xff0c;汇总版(1)01、什么是存储过程&#xff1f;用什么来调用&#xff1f;02、优化数据库有哪些方法&#xff0c;详细说明其使用方式&#xff1f;03、MySQL完整性约束包括哪些&#xff1f;04、使用B树的好处有哪些&#xff1f;05、视…

Python Collections:解放你的数据处理能力

导语&#xff1a; Python中的collections模块为我们提供了丰富的数据结构和高效的操作方法&#xff0c;让我们能够更轻松地处理各种数据。本文将详细介绍Python collections的高端操作使用教程&#xff0c;帮助你更好地利用这些强大的工具&#xff0c;提升数据处理的效率和质量…

Qt文本编辑器避免在新窗口打开链接的设置方法

如何避免在新窗口打开链接&#xff0c;在Qt的主菜单:工具->选项->文本编辑器->显示->Always open links in another split去掉即可。

Java安全架构 JCA、JCE、JSSE、JAAS

Java语言拥有三大特征&#xff1a;平台无关性、网络移动性和安全性&#xff0c;而Java安全体系结构对这三大特征提供了强大的支持和保证&#xff0c; Java安全体系结构总共分为4个部分&#xff1a; &#xff08;1&#xff09;JCA&#xff08; Java Cryptography Architecture…

【ChatGPT】人工智能的下一个前沿

&#x1f38a;专栏【ChatGPT】 &#x1f33a;每日一句&#xff1a;慢慢变好,我是,你也是 ⭐欢迎并且感谢大家指出我的问题 文章目录 一、引言 二、ChatGPT的工作原理 三、ChatGPT的主要特点 四、ChatGPT的应用场景 五、结论与展望 ​​​​​​​ 一、引言 随着人工智能技…

JS逆向爬虫---请求参数加密③【比特币交易爬虫】

查询参数确定 t无加密 请求头参数加密 X-Apikey参数加密确定 X-Apikey逆向 const API_KEY "a2c903cc-b31e-4547-9299-b6d07b7631ab" function encryptApiKey(){ var t API_KEY, e t.split(""), n e.splice(0, 8);return t e.concat(n).join("&…

全球10米土地覆盖产品(ESA)数据集2020和2021年

简介 全球10米土地覆盖产品(ESA)来源于欧空局&#xff0c;是基于哨兵一号、哨兵二号数据制作的2020年的10m分辨率的全球土地覆盖数据。土地利用数据一共分为11类&#xff0c;分别是:林地、灌木、草地、耕地、建筑、裸地/稀疏植被区、雪和冰、开阔水域、草本湿地、红树林、苔藓…

使用Plsql+oracle client 连接 Oracle数据库

2011年入职老东家X煤集团的时候&#xff0c;在csnd上写了一篇blog&#xff0c;题目叫“什么是ERP”&#xff0c;从此跳入DBA了这个烂坑&#xff0c;目前公司的数据库一部分是Oracle&#xff0c;另一部分是MySQL的&#xff0c;少量MSSQL&#xff0c;还需要捡起来一部分&#xff…

Chrome 插件开发 V3版本 跨域处理

插件构成 chrome 插件通常由以下几部分组成&#xff1a; manifest.json&#xff1a;相当于插件的 meta 信息&#xff0c;包含插件的名称、版本号、图标、脚本文件名称等&#xff0c;这个文件是每个插件都必须提供的&#xff0c;其他几部分都是可选的。 background script&…

U-Boot 启动流程详解

目录 链接脚本u-boot.lds 详解U-Boot 启动流程详解reset 函数源码详解lowlevel_init 函数详解s_init 函数详解_main 函数详解board_init_f 函数详解relocate_code 函数详解relocate_vectors 函数详解board_init_r 函数详解run_main_loop 函数详解cli_loop 函数详解cmd_process …

【教3妹学编程-算法题】最长平衡子字符串

3妹&#xff1a;呜呜&#xff0c;烦死了&#xff0c; 脸上长了一个痘 2哥 : 不要在意这些细节嘛&#xff0c;不用管它&#xff0c;过两天自然不就好了。 3妹&#xff1a;切&#xff0c;你不懂&#xff0c;影响这两天的心情哇。 2哥 : 我看你是不急着找工作了啊&#xff0c; 工作…

OCR技术助力行驶证识别,引领未来智能交通新潮流

随着人工智能技术的发展&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术在各个领域得到了广泛的应用&#xff0c;而行驶证OCR识别作为OCR技术的一个重要应用之一&#xff0c;在多个领域展现出了巨大的潜力。 首先&#xff0c;行驶证OCR识别在交通管理领域具有重要意…

【Android】Dagger2 框架设计理念和使用方式详解

文章目录 Dagger 框架作用基本使用方法引入依赖创建 Object创建 Module创建 Component向 Activity 注入对象 Component 内部单例全局单例自定义 Scope关于单例作用域的理解注入多种同类型对象Component 依赖Component 继承传递 Activity Dagger 框架作用 这里&#xff0c;我们…

Vue路由使用参数传递数据

一、使用query参数传递数据 &#xff08;一&#xff09;参数的传递 1. 携带参数进行传递 <router-link to"/路径?参数名1参数值1&参数名2参数值2">内容</router-link> 我们在下面的代码中传递每条消息的id和标题&#xff1a; 2. 配置对象进行传递…

计算/存储虚拟化高级特性

目录 计算虚拟化特性 HA高可用 虚拟机热迁移 虚拟机快照技术 存储虚拟化特性 链接克隆 存储热迁移 裸设备映射 计算虚拟化特性 HA高可用 通过HA&#xff08;High Available&#xff09;机制&#xff0c;可以提升虚拟机的可用度&#xff0c;允许虚拟机所在的服务器节点…