Jitpack存储库检索到错误的依赖版本

时间:2019-09-09 16:42:18

标签: android maven android-gradle-plugin build.gradle jitpack

我试图使用JitPack将派生的库添加到我的Android项目中。

allprojects {
    repositories {
        jcenter()
        google()
        maven { url 'https://jitpack.io'}
    }
}

同步后,我的库已正确添加,但问题是,检索了依赖项的最新版本,例如Picassookio,而不是gradle文件中指定的版本。

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存储库问题,但我并不真正了解发生了什么。任何建议都欢迎!

1 个答案:

答案 0 :(得分:0)

Maven 依赖项被指定为

groupid:artifact:version

在大多数 Maven 存储库中,它们取自库的 pom.xml

JitPack 在这里的工作方式不同:

  • groupid 标识 git 托管服务和用户,例如com.gitlab.johndoe
  • artifact 是该 git 托管服务上的项目名称,如 URL 中所示
  • version 是 git ref,即标签或分支名称,或提交哈希

有一些方法可以保持这些同步:

  • 对于与您的 groupid 对应的域,配置一个 TXT 记录,其 URL 指向 git 主机上的相应用户或组织
  • 选择工件名称和项目名称相同
  • 在 git 中用 pom.xml 中的版本号标记每个版本。

否则,您将不得不修改您的依赖项,以便 JitPack 找到它们。