kotlin - Gradle 中的多个 github 包
问题描述
我有两个github pacakges
命名XXX/AAA
和YYY/BBB
(相同OWNER
但不同repository
)。现在,当我尝试将它们添加到我的项目中时,gradle 似乎总是使用第一个存储库。
repositories {
maven { url 'https://jitpack.io' }
maven {
url "https://maven.pkg.github.com/XXX/AAA"
credentials {
username = USERNAME
password = PWD
}
}
maven {
url "https://maven.pkg.github.com/XXX/BBB"
credentials {
username = USERNAME
password = PWD
}
}}
在com.example
实现上也是一样的。
dependencies {
// implementation 'com.example:package'
// AAA
implementation("YYY:AAA:${a_version}")
// BBB
implementation("YYY:BBB:${b_version}")
}
我在同步时收到以下错误
Could not HEAD 'https://maven.pkg.github.com/XXX/AAA/YYY/BBB/0.1/BBB-0.1.pom'. Received status code 400 from server: Bad Request. Disable Gradle 'offline mode' and sync project
我们可以清楚地看到,gradle 使用了错误的存储库(AAA 而不是 BBB)
任何帮助表示赞赏。
提前致谢
解决方案
您需要将这些存储库声明为尊重依赖项的专有:
repositories {
maven { url 'https://jitpack.io' }
exclusiveContent {
forRepository {
maven {
url 'https://maven.pkg.github.com/XXX/AAA'
credentials {
username = "USERNAME"
password = "PWD"
}
}
}
filter {
includeModule("YYY", "AAA")
}
}
exclusiveContent {
forRepository {
maven {
url 'https://maven.pkg.github.com/XXX/BBB'
credentials {
username = "USERNAME"
password = "PWD"
}
}
}
filter {
includeModule("YYY", "BBB")
}
}
}
推荐阅读
- apache-kafka - Apache Flink Kafka 消费者问题
- c++ - 必须调用对非静态成员的引用
- php - 订单状态更改时向 WordPress 用户发送电子邮件?
- javascript - 为什么 toString() 即使没有任何对象或字符串可以调用
- symfony - 如何在 EasyAdmin 3 中添加自定义操作?
- android - 如何创建在 Android NDK 上运行的预构建库?
- python - Flask 无法在调试模式下重新启动,并且 Visual Studio 2019 中不支持颜色输出
- laravel - 在 Laravel 存储库模式中处理模型依赖项
- c++ - 不知道如何为我正在制作的课程增加价值
- java - 在 WSL 上安装 tomcat 9