如何使用Gradle中的多个分类器和扩展来使用给定的依赖项



我正试图弄清楚如何使用中列出的*.{so,jar}文件https://repo1.maven.org/maven2/org/sosy-lab/javasmt-solver-z3/4.8.10/(另请参阅mvnrepository.com上的相应条目(,如这里所示(使用Maven(,使用Gradle 6.8.3和Kotlin配置。我的代码的相关部分是

repositories {
jcenter()
mavenCentral()
}
dependencies {
implementation(group = "org.sosy-lab", name = "javasmt-solver-z3", version = "4.8.10", classifier = "com.microsoft.z3", ext = "jar")
implementation(group = "org.sosy-lab", name = "javasmt-solver-z3", version = "4.8.10", classifier = "libz3", ext = "so")
implementation(group = "org.sosy-lab", name = "javasmt-solver-z3", version = "4.8.10", classifier = "libz3java", ext = "so")
}

我得到的输出是

Could not resolve org.sosy-lab:javasmt-solver-z3:4.8.10.

我已经尝试过(1.(注释掉三个依赖项中的任意两个,(2.(重新排序存储库。输出是相同的。我在这里做错了什么?

Gradle默认搜索pom.xml,但它失败了,因为一些JavaSMT工件没有(或没有有用的(。但是,您可以告诉Gradle直接搜索工件。要做到这一点,你需要向你的回购添加一个元数据源,如下所示:

repositories {
jcenter()
mavenCentral {
metadataSources {
artifact()
}
}
}

最新更新