簡體   English   中英

如何使用 Gradle 中的多個分類器和擴展來使用給定的依賴關系?

[英]How do I consume given dependency with multiple classifiers and extensions in Gradle?

我試圖弄清楚如何使用https://repo1.maven.org/maven2/org/sosy-lab/javasmt-solver-z3/4.8.10/中列出的*.{so,jar}文件也是mvnrepository.com 上的相應條目)作為示例(使用 Maven) here ,使用 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")
}

我得到的 output 是

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

我已經嘗試過(1.)注釋掉三個依賴項中的任何兩個,(2.)重新排序存儲庫。 output 是一樣的。 我在這里做錯了什么?

Gradle 默認搜索 pom.xml 並且它失敗,因為一些 JavaSMT 工件沒有任何(或沒有有用的)。 但是,您可以告訴 Gradle 直接搜索工件。 為此,您需要將 metadataSource 添加到您的存儲庫中,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM