查看阿里云maven仓中某个库有哪些版本

起因

最近项目上有做视频业务,方案是使用阿里云的短视频服务,其中也有使用到阿里云的上传SDK,过程中有遇一个上传SDK的内部崩溃,崩溃栈如下:

Back traces starts.
java.lang.NullPointerException: Attempt to invoke interface method 'void com.alibaba.sdk.android.vod.upload.auth.AliyunVodAuth$VodAuthCallBack.onError(java.lang.String, java.lang.String)' on a null object referenceat com.alibaba.sdk.android.vod.upload.auth.AliyunVodAuth$2$1.onFailure(AliyunVodAuth.java:183)at com.aliyun.vod.qupaiokhttp.OkHttpTask.onPostExecute(OkHttpTask.java:279)at com.aliyun.vod.qupaiokhttp.OkHttpTask$2.run(OkHttpTask.java:228)at android.os.Handler.handleCallback(Handler.java:958)at android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loopOnce(Looper.java:224)at android.os.Looper.loop(Looper.java:318)at android.app.ActivityThread.main(ActivityThread.java:8744)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
Back traces ends.

经分析是有调到VODSVideoUploadClientImpl的cancel方法,然后就调AliyunVodAuth的cancel方法

    public void cancel() {OSSLog.logDebug(TAG, "[VODSVideoUploader]: " + "cancel");status = AliyunVodUploadStatus.VODSVideoStatusIdle;step = AliyunVodUploadStep.VODSVideoStepIdle;if (uploader != null) {uploader.cancel();fileList.clear();videoUploadCallback = null;}if (aliyunVodAuth != null) {//这里。。。aliyunVodAuth.cancel();aliyunVodAuth = null;}}
再看下aliyunVodAuth的方法,

在这里插入图片描述
很明显,vodAuthCallBack会被置空,那就只能说明判空不到位了呀!
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/291365b6a3a94a13a53eb9daedc68a51.png
在看下183行onError方法中的代码吧!
在这里插入图片描述
在这里插入图片描述

额外简单评价下相关的代码逻辑
在这里插入图片描述
哦,有点发散了,收敛回来一下!
遇到这个崩溃问题我的第一思路是先看看上传SDK有没有升级版本(我当时使用的是1.6.6),不行的话,就只能不调用cancel方法来规避可能出现的崩溃了。
那么我们就回到了今天的主题了,如何查看 阿里云maven仓中某个库有哪些版本?

maven库

我们要知道maven仓库本质上就是个文件下载服务,可以让我们去下载项目依赖的库,所以理论上maven仓库是也会提代WEB管理界面或入口方便大家查验、手动下载、管理相关的库的,只是这个WEB管理界面会大同小异而于。即我们可以从maven库的WEB端查验与下载我们关注的库

google

我们来看个google maven 库的WEB端,https://maven.google.com/web/index.html
在这里插入图片描述
相对比较简单,搜索功能也是简单的关键字搜索

阿里云

接着看下阿里云的,直接打开https://maven.aliyun.com/nexus/content/repositories/releases,我们就得到最终的WEB端入口地址

allprojects {repositories {maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }}
}

在这里插入图片描述

建议使用gav方式搜索,gav 即group \artifact\ version等参数搜索库
在这里插入图片描述

实践

来搜索一下上传SDK的版本

    implementation 'com.aliyun.video.android:upload:1.6.6'

在这里插入图片描述
其实这样搜索出来,所有的版本号也挺难出来的,不过可以定位到是那个仓库,我们可以点开仓库节点树来看看!
在这里插入图片描述

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

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

相关文章

【Leetcode】目前300题,大部分二刷,总感觉自己是在背答案一样,怎么破?

1,一开始学习的时候,就是刚学完数据结构算法,刚开始做题,说实话,一个easy题目都需要半个小时,甚至好几个小时,非常正常,因为这个阶段你是在学习,不是在做题,要…

Nonterrestrial Networks (NTN) for 5G and Beyond

Overview In this paper, we’ll take a look at the current state of NTNs, some of the new applications being explored, and crucially, the technical challenges that we’ll need to overcome to make it a viable market. Finally, we’ll get an overview of the w…

2024 年 10 款最佳免费无限的数据恢复软件工具

十大无限的数据恢复软件工具 数据丢失可能是一场噩梦,无论是由于意外删除、系统崩溃还是硬件故障。值得庆幸的是,有多种数据恢复软件工具可以帮助您检索珍贵的文件和文档。在本文中,我们将探讨可以拯救世界的十大最佳免费无限数据恢复软件工…

electron项目在内网环境的linux环境下进行打包

Linux需要的文件: electron-v13.0.0-linux-x64.zip appimage-12.0.1.7z snap-template-electron-4.0-1-amd64.tar.7z 下载慢或者下载失败的情况可以手动下载以上electron文件复制到指定文件夹下: 1.electron-v13.0.0-linux-x64.zip 复制到~/.cache/electron/目录下…

C/C++ - 容器vector

目录 容器特性 构造函数 默认构造函数 填充构造函数 范围构造函数 拷贝构造函数 内存布局 大小函数 size() 函数 capacity() 函数 empty() 函数 resize() 函数 增加函数 push_back(const T& value) emplace_back(Args&&... args) push_back和empla…

HDMI2.1之eARC简介-Dolby Atmos和DTS:X

文章目录 eARC目的更大的带宽更高质量音频支持对象型音频与CEC(Consumer Electronics Control)的兼容性: 适应流媒体发展Dolby AtmosDTS:X高分辨率音频更高的音频位深度和采样率低延迟音频 对象型音频格式独立对象三维定位动态音场适应性和灵…

Unity C#高级特性 Partial 详细使用案例

文章目录 实例 1:分隔UI逻辑实例 2:Unity编辑器自动生成代码实例 3:数据模型分割实例 4:序列化扩展实例 5:多视图架构实例 6:Unity编辑器自定义 inspectors 在Unity中,部分类(Partia…

【文本到上下文 #8】NLP中的变形金刚:解码游戏规则改变者

一、说明 欢迎来到我们对不断发展的自然语言处理 (NLP) 领域的探索的第 8 章。在本期中,我们将重点介绍一项重塑 NLP 格局的突破性创新:Transformers。在我们之前对 seq2seq 模型、编码器-解码器框架和注意力机制的讨论之后&#…

UE4 C++ UGameInstance实例化

1.创建GameInstance C类 2.在.h添加变量 class 工程名称_API UMyGameInstance : public UGameInstance {GENERATED_BODY()public: //定义了三个公开的变量UMyGameInstance();UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "MyGameInstance")FString Name…

第二代视频换脸工具facefusion

GitHub - facefusion/facefusion: Next generation face swapper and enhancer官方地址 1.环境安装 Windows - FaceFusion Windows Python winget install -e --id Python.Python.3.10 PIP python -m ensurepip --upgrade GIT winget install -e --id Git.Git

Java多线程--JDK5.0新增线程创建方式

文章目录 一、新增方式1:实现Callable接口(1)介绍(2)案例(3)总结对比 二、新增方式2:使用线程池(1)问题与解决思路1、现有问题2、解决思路3、好处 &#xff0…

回归预测 | Matlab实现RIME-CNN-LSTM-Attention霜冰优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)

回归预测 | Matlab实现RIME-CNN-LSTM-Attention霜冰优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制) 目录 回归预测 | Matlab实现RIME-CNN-LSTM-Attention霜冰优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制&#xff0…