android - Jitpack 存储库检索到错误版本的依赖项
问题描述
我尝试使用 JitPack 将分叉库添加到我的 Android 项目中。
allprojects {
repositories {
jcenter()
google()
maven { url 'https://jitpack.io'}
}
}
同步后,我的库被正确添加,但问题是,除了 gradle 文件中指定的版本之外,最新版本的依赖项Picasso
和被检索到。okio
implementation 'com.squareup.okio:okio:1.9.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
还尝试使用includeGroup
仅通过 JitPack 检索我自己的库,但它仍然以某种方式获取最新的软件包。
maven { url 'https://jitpack.io'
content {
includeGroupByRegex "com\\.github\\.myusername.*"
}}
我认为这是一个 Maven 存储库问题,但并不真正了解发生了什么。欢迎任何建议!
解决方案
Maven 依赖项被指定为
groupid:artifact:version
在大多数 Maven 存储库中,它们是从pom.xml
库中获取的。
JitPack 在这里的工作方式不同:
groupid
标识 git 托管服务和用户,例如com.gitlab.johndoe
artifact
是该 git 托管服务上的项目名称,可在 URL 中找到version
是一个 git ref,即一个标签或分支名称,或者一个提交哈希
有一些方法可以使它们保持同步:
- 对于与您对应的域
groupid
,配置一个 TXT 记录,其 URL 指向 git 主机上的相应用户或组织 - 选择工件名称和项目名称相同
- 用它在 .git 中的版本号标记 git 中的每个版本
pom.xml
。
否则,您将不得不修改您的依赖项,以便 JitPack 能够找到它们。
推荐阅读
- arrays - 在 vba 中动态填充和打印二维数组
- c# - 远程服务器返回错误(400)错误请求
- postgresql - 在 Postgresql 中的递归查询中防止无限循环
- java - 使用测试类构建 jar 文件
- mysql - 如何在 laravel Query 的 WHERE 中使用 OR
- android - RecyclerView 更改图像不正确 onNotifyItemChanged
- android - CombineLatest隐藏错误
- javascript - 获取 Array.toString() 的结果而不用逗号分隔项目
- sony - 扩展 Camera Remote API 以调整焦点
- c - 头文件中的结构在源文件中产生错误