#java #gradle #gradle-kotlin-dsl
Вопрос:
для модуля «lib-one» выглядит следующим образом. Он реализует некоторые двоичные файлы, после чего я публикую его локально.
//: lib-one/build.gradle.kts
dependencies {
implementation(platform("org.lwjgl:lwjgl-bom:3.2.3"))
listOf(
"", "-assimp", "-openal",
"-opengl"
).map { lib ->
implementation("org.lwjgl:lwjgl$lib")
runtimeOnly("org.lwjgl", "lwjgl$lib", classifier = LWJGL.lwjglNatives)
}
}
publishing {
publications {
register<MavenPublication>("lib-one-maven") {
from(components["java"])
}
}
repositories {
maven {
setUrl(System.getProperty("url.repo.local.snapshot"))
}
}
}
Здесь этот модуль зависит от модуля «lib-one», но это дает мне испытание «не удалось разрешить этот двоичный файл»
//: lib-two/build.gradle.kts
repositories {
maven {
setUrl(System.getProperty("url.repo.local.snapshot"))
}
}
dependencies {
implementation("com.demo:lib-one:0.0.1") // HERE! ERROR: could not resolve!
}
Ответ №1:
Я нашел проблему, и она находится внутри моего «settings.gradle». Проблема заключается в неправильном порядке репозиториев. смотрите здесь для получения дополнительной информации: https://docs.gradle.org/current/userguide/dependency_resolution.html#obtaining_module_metadata
// this is the incorrect way for my build cuz while the subprojects are
// applying the next repo.
// settings.gradle.kts
dependencyResolutionManagement {
repositories.mavenCentral()
}